Rumah > Artikel > hujung hadapan web > Apakah enjin v8 dalam nodejs
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.
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!