Rumah  >  Artikel  >  hujung hadapan web  >  Apakah enjin v8 dalam nodejs

Apakah enjin v8 dalam nodejs

青灯夜游
青灯夜游asal
2021-11-23 13:47:492896semak imbas

Dalam nodejs, enjin V8 ialah penterjemah untuk JavaScript berjalan dan merupakan enjin JavaScript V8 dibangunkan menggunakan "C" dan digunakan dalam Google Chrome. Sebelum menjalankan JavaScript, V8 akan menyusunnya ke dalam kod mesin asli dan menggunakan kaedah seperti caching sebaris untuk meningkatkan prestasi.

Apakah enjin v8 dalam nodejs

Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 12.19.0, komputer DELL G3.

Gambaran Keseluruhan NodeJS

Menurut Ensiklopedia Baidu, Node.js ialah kit alat JavaScript untuk menulis pelayan rangkaian berprestasi tinggi. Node.js ialah platform yang boleh membina perkhidmatan rangkaian dan aplikasi dengan cepat Platform ini berdasarkan masa jalan JavaScript Chrome, yang bermaksud ia sebenarnya merangkumi enjin Google V8 (digunakan dalam penyemak imbas Google Chrome). Enjin V8 melaksanakan Javascript dengan sangat cepat dan mempunyai prestasi yang sangat baik.

NodeJS tidak menyediakan enkapsulasi mudah dan kemudian menyediakan panggilan API Jika itu berlaku, maka ia tidak akan popular seperti sekarang. Node telah mengoptimumkan beberapa kes penggunaan khas dan menyediakan API alternatif untuk menjadikan V8 berjalan lebih baik dalam persekitaran bukan penyemak imbas. Sebagai contoh, dalam persekitaran pelayan, pemprosesan data binari biasanya penting, tetapi Javascript tidak menyokong ini dengan cukup Oleh itu, V8.Node menambah kelas Buffer untuk memproses data binari dengan mudah dan cekap. Oleh itu, Node bukan sahaja menggunakan V8, tetapi juga mengoptimumkannya untuk menjadikannya lebih berkuasa dalam pelbagai persekitaran.

Kompilasi JIT Gambaran Keseluruhan JIT

V8 menggunakan teknologi kompilasi tepat dalam masa (JIT) untuk menyusun terus kod JavaScript ke dalam kod mesin platform tempatan. Dari perspektif makro, langkah-langkahnya ialah kod sumber JavaScript -> pokok sintaks abstrak -> kod mesin tempatan, dan langkah terakhir hanya bergantung pada langkah sebelumnya. Ini berbeza daripada penterjemah lain Sebagai contoh, bahasa Java perlu terlebih dahulu menyusun kod sumber menjadi kod bait, dan kemudian mentafsir dan melaksanakannya untuk JVM secara selektif menyusun sebahagian kod bait ke dalam kod mesin tempatan semasa operasi strategi pengoptimuman. V8 tidak menghasilkan kod perantaraan Ia disusun menjadi kod mesin dalam satu langkah, dan CPU memulakan pelaksanaan. Berbanding dengan kaedah menjana kod perantaraan untuk tafsiran dan pelaksanaan, strategi V8 menjimatkan satu langkah, dan program akan mula berjalan lebih awal. Dan melaksanakan arahan mesin yang disusun adalah lebih pantas daripada mentafsir dan melaksanakan kod perantaraan. Kelemahannya ialah kekurangan perwakilan perantaraan bytecode menjadikan pengoptimuman kod lebih sukar.

Gambaran Keseluruhan V8

V8, sebagai enjin JavaScript, pada asalnya digunakan dalam penyemak imbas Google Chrome. Ia dikeluarkan dengan versi pertama Chrome dan sumber terbuka. Kini ia mempunyai ramai pengguna lain selain pelayar Chrome. Seperti NodeJS, MongoDB, CouchDB, dll.

V8 dibangunkan dalam C dan digunakan dalam Google Chrome. Sebelum menjalankan JavaScript, bukannya enjin JavaScript lain menukarnya kepada kod bait atau mentafsirnya untuk pelaksanaan, V8 menyusunnya ke dalam kod mesin asli (IA-32, x86-64, ARM atau MIPS CPU) dan menggunakan Kaedah berikut seperti caching sebaris boleh digunakan untuk meningkatkan prestasi. Dengan ciri-ciri ini, program JavaScript berjalan sepantas program binari di bawah enjin V8.

V8 dilaksanakan dalam ECMAScript seperti yang dinyatakan dalam ECMA-262, versi 3 yang dijalankan pada Windows XP dan Vista, Mac OS X 10.5 (Snow Leopard dan Linux) menggunakan pemproses IA-32 atau ARM >V8 boleh dijalankan secara bebas atau dibenamkan ke dalam mana-mana aplikasi C Projek ini dihoskan pada Kod Google [1] dan berdasarkan lesen BSD Mana-mana organisasi atau individu boleh menggunakan kod sumbernya dalam projek mereka sendiri. pengetahuan berkaitan, sila lawati:

tutorial nodejs

!

Atas ialah kandungan terperinci Apakah enjin v8 dalam nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:apa itu skrip reaksiArtikel seterusnya:apa itu skrip reaksi