27 августа 2018
Podlodka #74 – Управление памятью
17

Работа программиста немыслима без взаимодействия с памятью. Мы с легкостью создаем переменные и манипулируем ссылками на различные объекты в куче. И далеко не всегда задумываемся о том, какие задачи приходится решать разработчикам языков и рантаймов, чтобы выделение и освобождение памяти происходило быстро и эффективно. Чтобы разобраться в теме, мы позвали в гости Алексея Шипилёва из Red Hat, который уже более 10 лет занимается вопросами производительности Java. В настоящее время Алексей разрабатывает реализацию сборщика мусора в OpenJDK, и с темой менеджмента памяти он знаком не понаслышке. Выпуск получился достаточно хардкорным и крайне насыщенным. А еще мы разрушили миф о том, что ARC не имеет никакого отношения к GC. Поддержи лучший подкаст про мобильную разработку: www.patreon.com/podlodka Также ждем вас, ваши лайки, репосты и комменты в мессенджерах и соцсетях!
 Telegram-чат: https://t.me/podlodka Telegram-канал: https://t.me/podlodkanews Страница в Facebook: www.facebook.com/podlodkacast/ Twitter-аккаунт: https://twitter.com/PodlodkaPodcast Содержание: - 00:00:38 - Знакомство с гостем - 00:02:19 - Что такое память в программировании - 00:06:28 - Про computer science - 00:07:17 - Управление сложностью процессов - 00:09:54 - Высокоуровневые языки программирования - 00:13:44 - Про ассемблер и пузырьковую сортировку - 00:16:49 - Ручной менеджмент памяти - 00:25:36 - Слабая гипотеза о поколениях - 00:29:26 - Автоматический менеджмент памяти - 00:32:09 - Reference counting - 00:39:37 - Reference counting и циклические ссылки - 00:48:00 - Трассирующие сборщики мусора - 01:00:46 - Concurrent-коллекторы - 01:06:26 - Как создатели языков выбирают менеджер памяти? - 01:11:17 - Как выбрать GC - 01:17:45 - Как правильно программировать, зная свой GC - 01:22:32 - LRU-кэш и GC - 01:27:59 - Про производительность и бизнес-логику - 01:33:05 - Будни разработчика GC - 01:41:35 - Как стать разработчиком GC - 01:47:44 - Подведение черты - 01:48:41 - Вопрос почти Стасу Полезные ссылки: - Talks: https://shipilev.net/#shenandoah - The Garbage Collection Handbook: http://gchandbook.org/ - Shenandoah GC: https://wiki.openjdk.java.net/display/shenandoah/Main - ZGC: http://openjdk.java.net/jeps/333 - Epsilon GC: http://openjdk.java.net/jeps/318 - “JVM Anatomy Park: TLAB Allocation”: https://shipilev.net/jvm-anatomy-park/4-tlab-allocation/ - “JVM Anatomy Park: GC Design And Pauses” https://shipilev.net/jvm-anatomy-park/3-gc-design-and-pauses/ - “JVM Anatomy Park: Moving GC And Locality” https://shipilev.net/jvm-anatomy-park/11-moving-gc-locality/ - “Логика неизбежности”: https://lex-kravetski.livejournal.com/301063.html - “Dismissing Python Garbage Collection” https://instagram-engineering.com/dismissing-python-garbage-collection-at-instagram-4dca40b29172 - Swift: “App crash with memory corruption on property set” https://bugs.swift.org/browse/SR-8101 https://twitter.com/virlof/status/1011303236395941890
Плейлист
Podlodka Podcast
Инженерная культура компании пронизывает нашу работу от и до. Какими критериями бизнес руководствуется при найме и почему собеседования устроены именно так а не иначе? Сколько времени у вас уйдет на...
15 апреля 2024
В выпуске мы придумали идеальное описание языка программирования Zig – это DSL для машинного кода. И за этим определением кроется куча интересных концепций, начиная от брутальной простоты в синтаксисе...
08 апреля 2024
С Сашей Зиминым поговорили про его опыт работы и жизни в Британии. В начале как наемного сотрудника, а теперь уже как исключительного таланта. В релокационном выпуске традиционно прошлись по климату,...
01 апреля 2024
В некоторых выпусках мы уже обсуждали, как работы ученых и инженеров в 60-70-е годы повлияли на современное программирование. Сейчас мы пошли еще дальше! Вместе с Виталием Брагилевским обсуждаем выдаю...
26 марта 2024
Дата и время – не самый простой домен. То зимнее-летнее время, то часовые пояса не кратны часу. А что, если не надо привязываться к часовому поясу? Еще в чате распределенной команды написали, что мити...
18 марта 2024
Все ведущие подкаста недавно релоцировались в другие страны. А некоторые – даже несколько раз. Мы по себе знаем, насколько сложен процесс адаптации, и насколько просто вместо интеграции в новую культу...
11 марта 2024
FemTech — технологии, которые улучшают жизнь и здоровье женщин. Если вы думаете, что дело заканчивается трекерами цикла… То, поверьте, этот выпуск вас удивит! Gender data gap — огромная и далеко не ед...
05 марта 2024
Продолжаем разбираться, за что отвечают разные C-level менеджеры, и в этот раз фокус на деньгах – говорим про CFO. Готовьте кошельки! Поговорили про финансирование, планирование, управление рисками –...
26 февраля 2024
Мы уже несколько выпусков посвятили тому, как правильно “готовить” тесты — составлять тест-кейсы, реализовывать и оптимизировать автотесты, поддерживать тестовую документацию. Но один вопрос остается...
19 февраля 2024
Результат работы программистов – код. Дизайнеров – макеты и красивые иконки. А вот с тестировщиками все намного интереснее! Вместе с Анастасией Заречневой, тестировщицей из JetBrains и создательницей...
12 февраля 2024
В выпуске обсудили нескучные правила шахмат, а также разновидности шахмат. Рассмотрели шахматы как вид спорта, или даже киберспорта. Узнали как AI играет в шахматы, оценивает силу ходов, помогает сове...
05 февраля 2024
И стартап, и пет-проект проще начинать с кем-то, например, другом или родственником. Сначала вы просто делаете что-то прикольное, но с ростом проекта растут и ставки. Как не навредить проекту и сохран...
29 января 2024
Мы много времени уделяем обсуждению того, как писать код классно — спорим про технологии, языки, фреймворки, IDE и т. п. При этом все мы знаем, что реализация фичи — это лишь верхушка айсберга. А что...
22 января 2024
Мало кого из тех, кто становится тимлидом, жизнь как-то к этому готовила. Управлению людьми и командами редко учат в университетах, работа рядовым программистом тоже не приносит нужных знаний. Мы реши...
15 января 2024
У нас уже был выпуск про VR, потому мы обсудили, что произошло с индустрией за прошедшие годы. В центральной части выпуска подняли тему NeRF — технологии, которая позволяет делать фотореалистичные сни...
08 января 2024
Иногда технологии — это не только про сложные инженерные задачи, но и про непростые моральные и этические вопросы без правильных ответов. В этом выпуске обсуждаем с Александром Нотченко дипфейки — как...
01 января 2024
Скорее включайте этот новогодний эпизод и заряжайтесь хорошим настроением! Обсуждаем любимые выпуски по версии наших слушателей и нас самих, делимся открытиями и фейлами 2023 года, неловко шутим и, ко...
28 декабря 2023
Изначально мы планировали говорить о QT исключительно в контексте кроссплатформенной десктопной разработки. Но в процессе осознали, что такое представление слишком ограничено, и возможности QT гораздо...
21 декабря 2023
Возможно, вы знаете, что все ведущие нашего подкаста неровно дышат к Kotlin. Почему? Чем так хорош этот язык? Разбираемся со Светой Исаковой, Developer Advocate в JetBrains. Облако КРОК – надежная и...
11 декабря 2023
Часто карьерную лестницу технических менеджеров представляют исключительно через количественный рост в зоне ответственности, горизонте планирования и числе людей. Почему это не так и в чем есть качест...
05 декабря 2023
В этом выпуске Катя Петрова рассказала про особенности переезда, легализации и жизни на острове глазами человека из IT. Прошлись по всем аспектам, которые могут повлиять на ваш выбор: климат, жилье, ш...
29 ноября 2023
В какой момент продукт перестает быть безумной идеей фаундеров и встает на ноги? По каким метрикам и что нужно сделать, чтобы пройти этот путь? На эти и другие вопросы нам ответил Илья Мартын – управл...
20 ноября 2023
У TypeScript – очень интересная история. Это первый крупный опенсорсный проект Microsoft, которые до этого воспринимались исключительно как империя зла. Он соревновался сразу с несколькими другими язы...
13 ноября 2023
Пополняем коллекцию выпусков про профессии! В этот раз мы вместе с Владиславом Соловьевым разобрались в том, что такое motion design. А там есть в чем поразбираться, ведь моушн-дизайн включает в себя...
06 ноября 2023
Стартуем серию выпусков посвященных десктоп разработке, и первый на очереди великий и ужасный… Electron! Вместе с Ильей Ермошиным разобрались в устройстве фреймворка, сравнивали его с нативной разраб...
31 октября 2023
Представьте, что можно взять свой любимый язык программирования, а внутри него сделать другой язык, который будет понятными словами описывать вашу предметную область. А нам и представлять не надо, мы...
25 октября 2023
Преобразования, которые происходят с текстом для его отображения на экране – одна из самых проклятых вещей в программировании. Никита Прокопов вернулся к нам в гости, чтобы рассказать про то, какие ин...
16 октября 2023
Юмор – это то, что помогает налаживать социальные связи, справляться со стрессом и трудностями жизни. Поэтому особенно интересно заглянуть в мир стендапа, где юмор – это профессиональный навык. Разбир...
10 октября 2023
ИТ-рекрутмент знаком нам всем — как соискателям работы. Но мало кто представляет, что скрывается за завлекающими сообщениями рекрутеров в соц. сетях, ведь это лишь маленькая верхушка айсберга. Как зар...
02 октября 2023
There is no such thing as a plain text. Мы позвали в гости Никиту Прокопова, автора Fira Code, и разработчика сразу нескольких UI фреймворков, чтобы поговорить о том, как компьютеры работают с текстом...
25 сентября 2023

Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.