TGViewer
Golang Дайджест Golang Дайджест @golang_digest · 13.4K subscribers
Post #355 7.15K
SIMD в Go 1.27

https://habr.com/ru/articles/1062972/

Раз уж в Go завозят SIMD, вот хороший разбор по нему.

Начинается с ликбеза — как процессор вообще складывает числа, что такое векторные регистры и полосы, почему одна инструкция может сложить восемь чисел за раз. Дальше автор берёт go1.27rc2 и проверяет всё руками на двух машинах: M3 Pro и i9-14900KF.

Напомню, что в 1.27 под флагом GOEXPERIMENT=simd обещают портируемый пакет simd: типы вида Float32s, у которых ширина неизвестна на этапе компиляции. Компилятор кладёт в бинарь четыре ветки (@simd0/128/256/512) и на рантайме выбирает нужную.

Основные тезисы разбора:

- Дизассемблер: FADD против VADDPS
- Откуда берётся ускорение — и почему обещанные 8x на практике превращаются в 5x
- Стена памяти: пока массив влезает в L3 — 5x, а дальше упор в память и 2.2x
- P-ядра против E-ядер и куда вообще сядет ваш бенчмарк
- Где SIMD не помогает

#go1_27 #article #performance #simd
  • ❤ 11
  • 🔥 6
  • 👍 3
  • 🤔 1
More from @golang_digest
  1. Sep 16, 2026Post #363
  2. Sep 15, 2026Дописал самый большой кусок статьи про Go 1.27 — раздел про постквантовые подписи. В 1.27…
  3. Sep 13, 2026Post #361
  4. Sep 13, 2026Post #360
  5. Aug 27, 2026😐 Ультимативный разбор... Go 1.27? Честно, не знаю зачем я это сделал, но я сделал.. Ну п…
  6. Aug 19, 2026Вышел Go 1.27 https://go.dev/doc/go1.27 Подробный интерактивный разбор ещё готовлю, подкас…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →