Heim >Web-Frontend >Front-End-Fragen und Antworten >Was ist die V8-Engine in NodeJS?

Was ist die V8-Engine in NodeJS?

青灯夜游
青灯夜游Original
2021-11-23 13:47:492926Durchsuche

In nodejs ist die V8-Engine der Interpreter für die Ausführung von JavaScript. V8 wird mit „C++“ entwickelt und in Google Chrome verwendet. Bevor JavaScript ausgeführt wird, kompiliert V8 es in nativen Maschinencode und verwendet Methoden wie Inline-Caching, um die Leistung zu verbessern.

Was ist die V8-Engine in NodeJS?

Die Betriebsumgebung dieses Tutorials: Windows7-System, NodeJS-Version 12.19.0, DELL G3-Computer.

NodeJS-Übersicht

Laut Baidu Encyclopedia ist Node.js ein JavaScript-Toolkit zum Schreiben leistungsstarker Netzwerkserver. Node.js ist eine Plattform, die schnell Netzwerkdienste und -anwendungen erstellen kann. Die Plattform basiert auf der JavaScript-Laufzeitumgebung von Chrome, was bedeutet, dass sie tatsächlich die Google V8-Engine (die im Google Chrome-Browser verwendet wird) kapselt. Die V8-Engine führt Javascript sehr schnell aus und hat eine sehr gute Leistung.

NodeJS bietet keine einfache Kapselung und stellt dann keine API-Aufrufe bereit. Wenn das der Fall wäre, wäre es nicht so beliebt wie jetzt. Node hat einige spezielle Anwendungsfälle optimiert und alternative APIs bereitgestellt, um die Ausführung von V8 in Nicht-Browser-Umgebungen zu verbessern. In einer Serverumgebung ist beispielsweise die Verarbeitung von Binärdaten normalerweise unerlässlich, aber Javascript unterstützt dies nicht ausreichend. Daher fügt V8.Node die Buffer-Klasse hinzu, um Binärdaten bequem und effizient zu verarbeiten. Daher nutzt Node nicht nur einfach V8, sondern optimiert es auch, um es in verschiedenen Umgebungen leistungsfähiger zu machen.

JIT-Kompilierung JIT-Übersicht

V8 verwendet Just-in-Time-Kompilierungstechnologie (JIT), um JavaScript-Code direkt in den Maschinencode der lokalen Plattform zu kompilieren. Aus Makroperspektive sind die Schritte JavaScript-Quellcode -> abstrakter Syntaxbaum -> lokaler Maschinencode, und der letzte Schritt hängt nur vom vorherigen Schritt ab. Dies unterscheidet sich von anderen Interpretern. Beispielsweise muss die Java-Sprache zuerst den Quellcode in Bytecode kompilieren und ihn dann für die JVM interpretieren und ausführen. Die JVM kompiliert während des Betriebs selektiv einen Teil des Bytecodes in lokalen Maschinencode Optimierungsstrategie. V8 generiert keinen Zwischencode. Er wird in einem Schritt in Maschinencode kompiliert und die CPU beginnt mit der Ausführung. Im Vergleich zur Methode der Generierung von Zwischencode zur Interpretation und Ausführung spart die Strategie von V8 einen Schritt und das Programm beginnt früher mit der Ausführung. Und die Ausführung kompilierter Maschinenanweisungen ist schneller als die Interpretation und Ausführung von Zwischencode. Der Nachteil besteht darin, dass das Fehlen einer Zwischendarstellung des Bytecodes die Codeoptimierung erschwert.

V8-Übersicht

V8 ist eine JavaScript-Engine, die ursprünglich den Google Chrome-Browser bediente. Es wurde mit der ersten Version von Chrome und Open Source veröffentlicht. Jetzt gibt es neben dem Chrome-Browser noch viele andere Benutzer. Wie NodeJS, MongoDB, CouchDB usw.

V8 wird in C++ entwickelt und in Google Chrome verwendet. Bevor JavaScript ausgeführt wird, wird es von anderen JavaScript-Engines nicht in Bytecode umgewandelt oder zur Ausführung interpretiert, sondern von V8 in nativen Maschinencode (IA-32-, x86-64-, ARM- oder MIPS-CPUs) kompiliert und die folgenden Methoden wie Inline-Caching verwendet kann zur Leistungssteigerung eingesetzt werden. Mit diesen Funktionen laufen JavaScript-Programme genauso schnell wie Binärprogramme unter der V8-Engine.

V8 implementiert ECMAScript gemäß ECMA-262, Version 3, läuft unter Windows XP und Vista, Mac OS. Kann in jede C++-Anwendung eingebettet werden. Das Projekt wird auf Google Code [1] gehostet, basierend auf dem BSD-Protokoll und allen Organisationen oder Einzelpersonen können den Quellcode in ihren eigenen Projekten verwenden

Weitere Informationen zu Knoten finden Sie unter:

nodejs

.

Das obige ist der detaillierte Inhalt vonWas ist die V8-Engine in NodeJS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was sind React-Scripts?Nächster Artikel:Was sind React-Scripts?