Hacker News Digest

Тег: #deno

Постов: 1

Eliminating JavaScript cold starts on AWS Lambda (goose.icu)

Porffor — экспериментальный JS-движок, компилирующий код в WebAssembly и нативные бинарники. Вместо упаковки рантайма (как Node/Bun) он генерирует крошечные (<1 MB) и быстрые (миллисекунды) исполняемые файлы.

porf native hi.js hi   # 12.9 KB
./hi                   # 631 µs

Сравнение с Deno/Bun: размер 16 KB против 80–100 MB, старт в 631 µs против 15–37 ms.

Lambda

На AWS Lambda Porffor показал:

  • Node (baseline): до 300 ms холодного старта.
  • LLRT: ~3× быстрее Node, но дороже из-за отсутствия managed runtime.
  • Porffor: ~12× быстрее Node и ~4× быстрее LLRT, при этом дешевле даже с учётом «managed runtime» Node.

P99 Porffor быстрее P50 у конкурентов.

Итог

Porffor ещё pre-alpha: поддержка JS ≈60 %, нет I/O и Node-совместимости. Подходит для маленьких лямбд без Node-API.
Код и данные бенчмарков: GitHub.

by styfle • 16 августа 2025 г. в 11:44 • 165 points

ОригиналHN

#javascript#webassembly#aws-lambda#nodejs#deno#typescript#aot-compilation#cloudflare#wasmer#performance-optimization

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

  • Porffor — экспериментальный AOT-компилятор JS/TS в WASM → C, убирает cold-start (~16 мс) за счёт отсутствия рантайма и GC, но покрывает лишь ~60 % тестов ECMA и не даёт нормального I/O или совместимости с Node.
  • Поддержка TypeScript-типов теоретически ускоряет код, но ненадёжна из-за несостоятельности системы типов.
  • Сравнения «в 12× быстрее Node» вызывают скепсис: пока демо, а полная реализация JS и API Node — задача огромного масштаба.
  • Критика: без GC и полноценной библиотечной экосистемы проект годен лишь для узких latency-чувствительных лямбда-функций; корпоративный adoption маловероятен.
  • Альтернативы — LLRT, GraalVM, Go/Rust-лямбды, Wasm-рантаймы Cloudflare и Wasmer — уже дают суб-100 мс cold start без жертв в совместимости.