Mozilla Firefox meningkatkan kinerja JavaScript

Pengguna Firefox dapat mengharapkan peningkatan kinerja JavaScript di browser Firefox 83, dengan pembaruan Warp ke mesin JavaScript SpiderMonkey diaktifkan secara default.

Juga disebut WarpBuilder, Warp meningkatkan daya tanggap dan penggunaan memori serta mempercepat pemuatan halaman dengan membuat perubahan pada kompiler JiT (just-in-time). Mengoptimalkan JiT diubah menjadi hanya mengandalkan format bytecode linier sederhana CacheIR, khususnya, data CacheIR yang dikumpulkan oleh tingkatan dasar. Arsitektur baru yang dimanfaatkan di browser juga dijelaskan sebagai lebih mudah dipelihara dan membuka peningkatan tambahan SpiderMonkey.

Firefox 83 diterbitkan dalam versi beta 20 Oktober dan dijadwalkan akan dirilis 17 November. Warp telah terbukti lebih cepat dari Ion, JiT pengoptimalan SpiderMonkey sebelumnya, termasuk peningkatan 20 persen pada waktu buka Google Docs. Situs web intensif JavaScript lainnya seperti Netflix dan Reddit juga telah menunjukkan peningkatan.

Mendasarkan Warp pada CacheIR memungkinkan penghapusan kode di seluruh mesin yang diperlukan untuk melacak data inferensi tipe global yang digunakan oleh Fusemobuilder, menghasilkan percepatan. Meskipun IonBuilder dan WarpBuilder sama-sama menghasilkan Ion MIR, representasi perantara yang digunakan oleh pengoptimalan back end JiT, IonBuilder memiliki banyak kode kompleks yang tidak diperlukan di WarpBuilder. Warp juga dapat melakukan lebih banyak pekerjaan off-thread dan membutuhkan lebih sedikit kompilasi ulang. Paket memerlukan pengoptimalan berkelanjutan di Warp, yang saat ini lebih lambat daripada Ion pada beberapa tolok ukur sintetis.

Warp telah menggantikan ujung depan - fase pembuatan MIR - dari IonMonkey JiT. Ada rencana untuk menghapus kode dan arsitektur lama, yang kemungkinan besar terjadi di Firefox 85. Sebagai hasilnya, peningkatan kinerja dan penggunaan memori diharapkan dapat terjadi. Mozilla juga akan terus mengoptimalkan bagian belakang IonMonkey JiT secara bertahap, karena Mozilla yakin masih ada ruang untuk peningkatan untuk beban kerja intensif JavaScript. Juga dalam pengembangan adalah alat untuk pengembang web dan Mozilla untuk mengeksplorasi data CacheIR untuk fungsi JavaScript.