Firefox 9 Dikeluarkan Dengan Prestasi JavaScript yang lebih baik

Blog oleh Brian Hackett, Jurutera Firefox
Firefox 9 ciri-ciri pelepasan inferens Jenis, atau TI, projek penyelidikan di bawah jalan selama lebih setahun. TI adalah ciri dalam enjin Javascript SpiderMonkey yang menjana jenis maklumat mengenai program-program Javascript melalui gabungan menganalisis kod program dan memantau jenis nilai-nilai sebagai program yang melaksanakan. Maklumat jenis ini digunakan semasa kompilasi JIT untuk menjana kod yang lebih cekap; Firefox 9 termasuk pengubahsuaian kepada JaegerMonkey JIT compiler untuk menggunakan jenis maklumat disimpulkan. Mod penyusunan ini, yang lalai dalam Firefox 9, mempercepatkan penanda aras utama seperti Kraken dan V8 oleh lebih daripada 30%, dan memberi rangsangan kelajuan yang besar kepada banyak laman web JS berat.
Javascript adalah bahasa yang dinamik ditaip, dan tanpa mengetahui jenis nilai-nilai pengkompil JIT perlu untuk menjana kod yang mencakupi semua jenis kemungkinan nilai-nilai yang terlibat. Ini ketara melambatkan pelaksanaan program perbandingan dengan bahasa yang statik ditaip seperti Jawa. Dengan TI integrasi ke dalam JaegerMonkey, kita menutup sebahagian besar jurang prestasi ini. Berterusan projek-projek Mozilla sedang dibina untuk memanfaatkan maklumat jenis disimpulkan. Dengan projek-projek ini, terutamanya IonMonkey, generasi akan datang Mozilla JIT compiler, kita berharap dapat merapatkan jurang prestasi dengan Jawa sepenuhnya. Writeup lebih terperinci mengenai algoritma dalaman dan teknik-teknik lain yang digunakan oleh inferens Jenis boleh didapati di sini.

0 comments:

Catat Ulasan

Setiap ulasan pengguna admin tidak akan bertanggung jawab.

Best viewed with Firefox

Creative Commons License
Dimensi Siber oleh Shafuan Kechik Hakcipta terpelihara, Dibawah Lesen akta Creative Commons .