Porffor Menunjukkan Potensi dengan Permulaan Sejuk Lambda 12x Lebih Pantas, Tetapi Komuniti Mempertikaikan Kesiapan Pengeluaran

Pasukan Komuniti BigGo
Porffor Menunjukkan Potensi dengan Permulaan Sejuk Lambda 12x Lebih Pantas, Tetapi Komuniti Mempertikaikan Kesiapan Pengeluaran

Pengkompil JavaScript baharu yang dipanggil Porffor telah mencetuskan perdebatan sengit dalam komuniti pembangun selepas menunjukkan peningkatan prestasi yang mengagumkan pada AWS Lambda. Alat eksperimental ini mengkompil JavaScript secara ahead-of-time kepada WebAssembly dan binari asli, mendakwa dapat menghapuskan kelewatan permulaan sejuk yang melanda aplikasi serverless.

Projek ini telah menarik perhatian kerana menghasilkan binari kecil di bawah 1MB yang bermula dalam milisaat, berbanding dengan runtime Node.js tradisional yang boleh mengambil masa beratus milisaat untuk memulakan. Dalam penanda aras Lambda, Porffor menunjukkan permulaan sejuk 12x lebih pantas daripada Node.js dan 4x lebih pantas daripada runtime LLRT milik Amazon sendiri.

Perbandingan Prestasi (Masa Permulaan Sejuk)

  • Porffor: ~25ms (P50), ~50ms (P99)
  • LLRT: ~100ms (P50), ~200ms (P99)
  • Node.js: ~150ms (P50), ~300ms (P99)

Perbandingan Saiz Binari

  • Porffor: 16KB
  • Bun yang dikompil: 97MB
  • Deno yang dikompil: 82MB

Penanda Aras Kelajuan Pelaksanaan

  • Porffor: 631.4 µs ± 128.5 µs
  • Bun: 15.9 ms ± 1.2 ms (25x lebih perlahan)
  • Deno: 37.4 ms ± 1.7 ms (59x lebih perlahan)
Meneroka bagaimana Porffor meningkatkan prestasi dengan menghapuskan permulaan sejuk JavaScript pada AWS Lambda
Meneroka bagaimana Porffor meningkatkan prestasi dengan menghapuskan permulaan sejuk JavaScript pada AWS Lambda

Dakwaan Prestasi Menghadapi Keraguan

Walaupun nombor mentah kelihatan mengagumkan, ahli komuniti membangkitkan kebimbangan tentang kesahihan perbandingan ini. Beberapa pembangun menunjukkan bahawa Porffor pada masa ini hanya menyokong 60% ciri JavaScript dan kekurangan keupayaan penting seperti operasi I/O dan keserasian Node.js. Pengkritik berhujah ini menjadikan perbandingan prestasi mengelirukan.

Kami lebih pantas! (sila abaikan fakta bahawa kami hampir tidak lebih daripada demo). Semua orang tahu tentang 80:20, kelembapan akan datang selepas anda mula melakukan segala yang pesaing anda lakukan.

Perdebatan ini mencerminkan corak biasa dalam teknologi di mana projek peringkat awal mempamerkan peningkatan prestasi yang dramatik sebelum melaksanakan set ciri penuh. Sesetengah ahli komuniti membandingkan ini dengan alat lain yang mengalami kemerosotan prestasi apabila ia matang.

Batasan Semasa

  • Hanya 60% sokongan ciri JavaScript
  • Tiada pengumpulan sampah
  • Tiada sokongan operasi I/O
  • Tiada keserasian API Node.js
  • Peringkat pembangunan pra-alfa
  • Sokongan ekosistem perpustakaan terhad

Seni Bina Teknikal Mencetuskan Perbincangan

Pendekatan Porffor mengkompil JavaScript kepada WebAssembly sebagai perwakilan perantaraan telah menjana perbincangan teknikal. Alat ini menghapuskan overhed runtime JavaScript tradisional dengan mencipta binari asli, tetapi ini datang dengan pertukaran yang ketara.

Aspek yang paling kontroversi ialah kekurangan pengumpulan sampah. Walaupun sesetengah pembangun melihat ini sebagai boleh diterima untuk fungsi Lambda berumur pendek, yang lain berhujah ia secara asasnya mengubah semantik JavaScript. Komuniti berpecah sama ada pengurusan memori peringkat permintaan melalui forking proses atau peruntukan arena boleh berfungsi dalam amalan.

Perbincangan teknikal juga memberi tumpuan kepada sama ada pendekatan kompilasi Porffor boleh berskala untuk mengendalikan kes tepi kompleks JavaScript dan ekosistem Node.js yang luas yang kebanyakan aplikasi pengeluaran bergantung kepadanya.

Kesiapan Pengeluaran Dipersoalkan

Penggunaan perusahaan menghadapi halangan ketara di luar batasan teknikal. Sesetengah ahli komuniti menyatakan kebimbangan bahawa syarikat besar akan teragak-agak untuk menggunakan peralatan eksperimental sedemikian kerana kebimbangan keselamatan dan kestabilan. Status pra-alpha projek dan sokongan JavaScript yang terhad menjadikannya tidak sesuai untuk kebanyakan aplikasi dunia sebenar.

Walau bagaimanapun, penyokong berhujah projek ini mengesahkan konsep penting tentang kompilasi ahead-of-time untuk JavaScript. Mereka mencadangkan bahawa walaupun Porffor sendiri tidak mencapai kesiapan pengeluaran, ia menunjukkan pendekatan berharga yang boleh mempengaruhi pembangunan runtime JavaScript masa depan.

Kesimpulan

Eksperimen Porffor menyerlahkan kekecewaan berterusan dengan prestasi permulaan sejuk JavaScript sambil mendedahkan kerumitan mencipta alternatif sedia pengeluaran. Walaupun nombor prestasi mengagumkan, komuniti kekal berpecah sama ada pertukaran boleh diterima dan sama ada projek boleh mengatasi batasan semasanya.

Perdebatan mencerminkan persoalan yang lebih luas tentang masa depan JavaScript dan sama ada kompilasi ahead-of-time boleh wujud bersama dengan sifat dinamik bahasa dan keperluan ekosistem yang luas.

Rujukan: Eliminating JavaScript cold starts on AWS Lambda