Hacker News Digest

Тег: #v8

Постов: 2

Why SSA Compilers? (mcyoung.xyz)

SSA (Static Single Assignment) — это популярная форма промежуточного представления, используемая в большинстве современных компиляторов, включая LLVM, GCC, V8 и HotSpot. Её главная сила — в упрощении анализа и оптимизации программ. SSA преобразует императивный код с изменяемыми переменными в форму, где каждая переменная присваивается только один раз, что делает зависимости между значениями явными и легко отслеживаемыми.

Эта трансформация превращает программы с состоянием в комбинационные схемы без памяти, значительно упрощая оптимизации. Вместо отслеживания изменений переменных по всему коду компилятор может работать с чётко определёнными зависимостями. Например, программа с множественными присваиваниями одной переменной преобразуется в несколько переменных, каждая из которых имеет одно назначение, что позволяет легко находить и устранять избыточные вычисления.

by transpute • 22 октября 2025 г. в 20:13 • 199 points

ОригиналHN

#ssa#compilers#llvm#gcc#v8#hotspot#optimization

Комментарии (84)

  • Обсуждение разошлось в сторону: от обсуждения SSA как формы IR и её влияния на оптимизации, к дискуссии о том, что такое SSA, как она соотносится с CPS и какие у неё есть trade-off'ы, а также к тому, что именно делает SSA «особенной» и как она влияет на компиляторы и языки.

How we made JSON.stringify more than twice as fast (v8.dev) 🔥 Горячее 💬 Длинная дискуссия

by emschwartz • 04 августа 2025 г. в 14:09 • 447 points

ОригиналHN

#javascript#v8#performance#json

Комментарии (165)

JSON encoding is a huge impediment to interprocess communication in NodeJS.Sooner or later is seems like everyone gets the idea of reducing event loop stalls in their NodeJS code by trying to offload it to another thread, only to discover they’ve tripled the CPU load in the main