Компилятор для CPU и GPU. Часть 1. LLVM и GCC.
Listen now
Description
В этом выпуске Константин Владимиров, занимавшийся разработкой компиляторов для CPU и GPU, расскажет о том достоинствах и недостатках GCC и LLVM. Константин опишет различные современные подходы к аллокации регистров, применяемых в компиляторах. А также поделится базовыми рекомендациями для пользователей компиляторов, желающих улучшить производительность своих программ с помощью компиляторов. Кроме того, мы обсудили животрепещущий вопрос об IT-образовании. Насколько больно переходить на новые версии компилятора? По каким причинам выбирают LLVM? Какие достоинства и недостатки GCC и LLVM? Какие методы решения задачи аллокации регистров существуют? Насколько этот этап влияет на скорость работы программы? Почему инженерам полезно идти преподавать в ВУЗы? Какие проблемы есть у современного высшего образования в сфере IT? Ответы на эти и другие вопросы вы узнаете из этого эпизода. Больше интересного обсудим с Константином во второй части выпуска, которая выйдет чуть позже. Видеоверсия выпуска: https://youtu.be/oXjS8mJk6VE Ссылка на канал Константина: https://www.youtube.com/@tilir 00:00:00 - Тизер 00:00:22 - В гостях Константин Владимиров 00:01:40 - Карьерный путь Константина 00:08:16 - Как Константин попал в сферу разработки компиляторов 00:10:05 - Процесс проектирования микроархитектуры 00:11:39 - Сравнение GCC и LLVM, преимущества и недостатки 00:15:47 - LLVM IR 00:16:41 - Все крупные системы должны быть переписаны на C++ 00:17:18 - Преимущества C 00:18:57 - Наследие, оставшееся от С, в GCC 00:20:19 - Ниши gcc и clang 00:22:26 - Отсутствие бинарной совместимости для LLVM IR 00:24:42 - Различные методы аллокации регистров в компиляторах 00:34:47 - Как аллокация регистров влияет на качество сгенерированного кода 00:36:15 - Рекомендации для пользователей компиляторов 00:37:02 - Архитектурные решения проблемы аллокации регистров 00:40:07 - Польза преподавательской деятельности 00:43:43 - Собеседования при найме 00:45:27 - Что полезно для развития специалиста 00:46:56 - Проблемы IT-кафедр 00:52:10 - Участие компаний в высшем образовании 00:55:27 - Новогоднее пожелание будущим инженерам от Константина
More Episodes
В этом выпуске мы побеседовали с Николаем Иготти — разработчиком с опытом сразу во многих сферах системного программирования. Николай разрабатывал виртуальные машины (Java HotSpot), компиляторы (Kotlin/Native), гипервизоры (VirtualBox). Также в портфолио нашего гостя — браузеры Firefox, Chrome и...
Published 11/22/24
В этом выпуске мы продолжим погружаться в тему системного программирования и познакомим вас с Дмитрием Точанским — инженером с опытом работы более 20 лет в сферах системного и embedded-программирования. Дмитрий пришел в системное программирование из системного администрирования, куда его привела...
Published 10/11/24