DEV Community

Cover image for Le moteur v8
Cédric Karungu for KADEA ACADEMY

Posted on • Edited on

Le moteur v8

Image description

Qu'est-ce que Chrome V8 ?

Chrome V8 est un moteur JavaScript, ce qui signifie qu'il exécute du code JavaScript. À l'origine, JavaScript a été écrit pour être exécuté par les navigateurs web. Chrome V8, ou simplement V8, peut exécuter du code JavaScript dans un navigateur ou en dehors de celui-ci, ce qui rend possible l'écriture de scripts côté serveur.

Comme un moteur de voiture V8 (huit cylindres), le moteur V8 de Chrome est rapide et puissant. V8 traduit le code JavaScript directement en code machine* afin que les ordinateurs puissent le comprendre, puis il exécute le code traduit, ou compilé. V8 optimise également l'exécution de JavaScript.

*Le code machine est un langage que les processeurs (CPU) peuvent comprendre. Il est purement numérique, c'est-à-dire composé de chiffres.

Qu'est-ce que Node.js ?

Node.js est un environnement d'exécution* pour le code JavaScript basé sur le moteur Chrome V8. Il est asynchrone, ce qui signifie qu'il n'est pas nécessaire d'attendre la fin d'un processus pour en lancer un autre. Comme V8, Node.js est gratuit et open source. Contrairement à V8, il n'a pas de fonctionnalité sandboxing intégrée.

(Les habitués de JavaScript auront remarqué l'extension de fichier « .js ». Il s'agit simplement d'un choix purement esthétique pour que le nom de l'environnement d'exécution indique son association avec JavaScript et ne signifie pas que Node.js est un fichier JavaScript.)

*Un environnement d'exécution est un environnement logiciel dans lequel le code est exécuté.

Pourquoi V8 et Node.js sont-ils importants en matière d'informatique serverless ?

Les fonctions serverless doivent pouvoir s'exécuter lorsqu'elles sont lancées. Certains fournisseurs d'informatique serverless proposent Node.js comme environnement d'exécution pour les fonctions JavaScript serverless (d'autres environnements d'exécution sont utilisés pour d'autres langues).

Cloudflare Workers, cependant, utilise directement V8, et ce pour plusieurs raisons. Citons entre autres la rapidité d'exécution des fonctions qui n'ont pas été utilisées récemment. Les démarrages à froid posent problème dans l'informatique serverless, mais l'exécution de fonctions sur V8 signifie que les fonctions peuvent être généralement « lancées » et exécutées dans un délai de 5 ms ou moins. (Node.js consomme plus de ressources et met généralement quelques millisecondes de plus.) Une autre raison tient au fait que V8 sandboxe automatiquement les fonctions JavaScript, ce qui renforce la sécurité.

Top comments (0)