Performa kompilasi JIT telah meningkat secara nyata di Firefox nightly build

Π’ bangunan malam Firefox termasuk kompiler JIT yang diperbarui, dikembangkan dengan nama kode WarpBuilder. Untuk mengaktifkan JIT baru, opsi "javascript.options.warp" disediakan di about:config.
Perlu dicatat bahwa WarpBuilder hanyalah langkah pertama untuk memasukkan optimasi baru ke dalam browser, yang rencananya akan diterapkan pada tahun depan.

JIT baru meningkatkan kinerja mesin JavaScript SpiderMonkey dengan mengurangi informasi tipe internal yang dilacak dalam mesin dan dengan menggunakan teknik Intermediate Code Caching (CacheIR) sebelumnya diajukan dalam penerjemah bytecode "dasar", yang menempati ceruk perantara antara penerjemah biasa dan kompiler pra-JIT. Perubahan ini telah menyederhanakan arsitektur JIT secara signifikan, meningkatkan daya tanggap, mengurangi waktu pemuatan halaman, dan mengurangi konsumsi memori.

Tercatatbahwa JIT baru memecahkan banyak masalah JIT IonBuilder lama, seperti:

  • Kompleksitas implementasi dan potensi masalah keamanan;
  • Overhead tambahan untuk kode Baseline/C++;
  • Spesialisasi yang berlebihan menyebabkan kompilasi ulang yang tidak perlu;
  • Menghasilkan kode perantara MIR (IR tingkat menengah) di thread utama (di WarpBuilder, rakitan utama kode perantara ditempatkan di thread terpisah);
  • Konsumsi memori tambahan untuk menyimpan data tentang tipe dan kelompok objek (ObjectGroups).

Rata-rata, dalam pengujian yang mengevaluasi kinerja berdasarkan metrik visual, peningkatan kecepatan 5-15% diamati saat menggunakan WarpBuilder. Tingkat penyelesaian tes speedometer meningkat sebesar 10%. Pengujian di situs nyata menunjukkan pengurangan waktu pemuatan Google Dokumen sebesar 20%, indeks Indeks Kecepatan saat membuka bagian Android di Reddit ditingkatkan dengan 13%, pdfpaint mulai bekerja lebih cepat 18%. Konsumsi memori dalam pengujian tp6 menurun sebesar 8%. Data statistik di alat pengembang (devtools perf) juga menunjukkan pengurangan konsumsi memori sebesar 8%.

Sumber: opennet.ru

Tambah komentar