G
enby!

Go v1.25 — Глубокий разбор всех изменений | GoGetPodcast №17

Подробно обсудили - что добавилось в новой версии Go 1.25, зачем всё это нужно, как с этим работать. Go 1.25 Release Notes: https://tip.golang.org/doc/go1.25
Состав: Николай Тузов Глеб Яльчик Дмтрий Матрёничев, ведёт шикарный ТГ-канал по Go: https://t.me/go_update
👾 Мой Телеграм-Канал с анонсами подкастов, роликов и др.: https://t.me/ntuzov
🗣️ Наш чат - Gopher Club: https://t.me/+RfalcB42UspmMDdi
Все гости наших выпусков там присутствуют. Тайминги: 00:00 Вступление 01:05 Представление Димы 01:55 Представление Глеба 02:33 План: идём сверху вниз по Go 1.25 03:16 GOMAXPROCS: новое динамическое поведение, риски и зачем это нужно 06:40 В каких случаях GOMAXPROCS может поменяться динамически? 08:32 uber/automaxprocs vs. новая логика Go 10:55 Почему избыток тредов это плохо? 14:22 setDefaultGOMAXPROCS: когда полезно 16:03 Новый Garbage Collector — Green Tea: идея и мотивация 19:14 Контекст: Что такое NUMA и при чём CERN и масштабирование? 21:10 Ликбез: трёхцветный GC и дороговизна скана 26:44 Практическая польза нового GC и ограничения 27:16 Как измерять эффект нового GC: trace scavenger 31:02 Уберит ли арены памяти? 36:57 Trace Flight Recorder: зачем и как использовать 42:00 Изменения в panic и VMA names на Linux 43:19 Фикс NeoPointer bug в компиляторе 53:56 DWARF v5: быстрее компиляция, компактнее бинарь 54:48 Faster slices: ускорения и когда заметно 58:38 Где читать про решение escape-анализатора 01:05:06 FuncAlign: выравнивание функций и latency 01:08:12 Про кэш-линии и микропроценты 01:11:21 Новый testing/synctest: управляемое время 01:15:52 Устойчиво заблокированная горутина — что это значит? 01:20:40 В каких кейсах пригодится synctest? 01:22:40 Почему моки плохо дружат с реальной средой 01:28:45 Новая версия encoding/json: drop-in и токенизатор 01:31:07 Бенчмарки: декод быстрее, меньше аллокаций 01:35:13 Кастомные маршалёры/анмаршалёры на дженериках 01:37:35 Минусы: магия и порядок регистрации 01:43:25 sync.WaitGroup.Go: сахарная обёртка 01:44:12 Библиотека lo: можно ли тащить огромные библиотеки ради пары строчек? 01:47:30 testing: Writer() и атрибуты 01:48:37 reflect: меньше аллокаций и финализаторы 01:50:39 io/fs root: защита от обходов 01:53:41 Про контейнеры и пространство атаки 01:54:45 Встроенная CSRF-защита в net/http 01:56:00 go test -work: тесты в рабочей директории 01:56:21 go.mod ignore: игнорирование каталогов 01:58:27 Библиотека lo: почему нельзя тащить огромные библиотеки ради пары строчек? 02:05:19 Supply-chain атаки и обновления 02:09:45 Финал, благодарности и итоги #gogetpodcast

Смотрите также