Go под капотом: ассемблер и SIMD в НОВЫХ map и GC - полное руководство для собеседований

Аватар автора
igoroutine
В этом видео я подробно разбираю новые возможности Go и то, как язык развивается. Начинаем с введения и обсуждения статьи от команды разработчиков Go, посвящённой 15-летию языка. Далее рассматриваем ключевые моменты из Go 1.24 Release Notes и Go 1.25 Release Notes. Основная часть посвящена устройству SIMD оптимизаций: от мотивации их появления до компиляции, регистров и особенностей SIMD инструкций. Пошагово объясняю идею оптимизации и показываю, как работать с Go ассемблером на arm64. Рассматриваем инструкции VADD, VMOV, VADDV, VLD, VST, VCMEQ, VDUP и другие, а также синтаксис регистров. Погружаемся во внутреннее устройство слайса и показываю на практике оптимизацию метода Contains: сначала идею, затем реализацию в ассемблере и её запуск. В конце делюсь исходниками к видео и обсуждаю применение SIMD в новых версиях Go. Видео будет полезно тем, кто хочет глубже понять внутренние механизмы Go и эффективно использовать SIMD-оптимизации. Таймкоды: 00:00 - Введение 00:28 - Статья от команды разработчиков Go в честь 15-летия 01:09 - Go 1.24 Release Notes 01:39 - Go 1.25 Release Notes 02:22 - Устройство SIMD оптимизаций. Мотивация 03:17 - Устройство SIMD оптимизаций. Компиляция 04:46 - Устройство SIMD оптимизаций. Регистры 05:46 - Устройство SIMD оптимизаций. Что такое SIMD инструкции, нюансы 07:19 - Устройство SIMD оптимизаций. Идея оптимизации 08:05 - Go ассемблер. Введение, SIMD-инструкции arm64 09:07 - Go ассемблер. VADD 09:19 - Go ассемблер. VMOV 10:26 - Go ассемблер.

0/0


0/0

0/0

0/0