Maison  >  Article  >  interface Web  >  Choisissez le meilleur moteur JS pour votre application Node

Choisissez le meilleur moteur JS pour votre application Node

青灯夜游
青灯夜游avant
2020-09-08 12:25:561902parcourir

Choisissez le meilleur moteur JS pour votre application Node

Node.js se développe rapidement. Actuellement, Node.js 8 est sorti. Parallèlement, une version Node.js basée sur ChakraCore est également en cours de développement actif.

【Recommandation du tutoriel vidéo : tutoriel node js

Le texte original est : La version récente de Node.js v8 (à ne pas confondre avec V8, le moteur JavaScript ) vient de paraître.

L'auteur original a utilisé le mot Version Node.js v8, pour lequel l'auteur a spécifiquement expliqué entre parenthèses que le V8 ici n'est pas le moteur javascript V8, mais la version Node.js. Mais il y a une note dans le billet de blog officiel de Node.js Node v8.0.0 (Current) :

Notez que, lorsque nous faisons référence aux versions de Node.js, nous avons supprimé le "v" dans Node.js 8. Les versions précédentes étaient communément appelées v0.10, v0.12, v4, v6, etc. Afin d'éviter toute confusion avec V8, le moteur JavaScript sous-jacent, nous avons supprimé le "v" "v" et appelez-le Node.js 8.

Veuillez noter que lorsque vous faites référence à la version de Node.js, nous avons supprimé le "v" dans Node.js 8. Les versions précédentes sont souvent appelées v0.10, v0.12, v4, v6, etc. Pour éviter toute confusion avec le moteur JavaScript V8, nous avons supprimé le « v » et l'avons appelé Node.js 8.
Ainsi, la version Node.js v8 devrait s'appeler directement Node.js 8.

Étant donné que le moteur JavaScript utilisé par Node.js ne sait pas quand de nouvelles fonctionnalités seront introduites, les développeurs connaissent clairement les avantages et les inconvénients en termes de performances des différents moteurs.

Nous avons effectué une évaluation des performances sur les versions de Node.js suivantes :

  • Node.js 6.10.1 (V8 5.1.281.95)* Node.js 7.10 (V8 5.5. 372.43 )
  • Node.js 7.10 utilisant le paramètre --turbo --ignition (V8 5.5.372.43)
  • Node.js 8.0 (V8 5.8.283.41)
  • Node js. 8.0 en utilisant le paramètre --turbo --ignition (V8 5.8.283.41)
  • Node.js 8.0 (ChaKraCore 2.0.0.0) (en utilisant 2 versions de build différentes)

Vous pouvez voir les performances de différentes versions pour différentes fonctionnalités avec ce simple outil de visualisation.

Dans ces résultats, si vous utilisez Node.js 8, vous pouvez également voir les performances javascript avec le paramètre --turbo --ignition activé.

Contexte

Bien que V8 soit le moteur JavaScript par défaut utilisé par Node.js, Node.js fournit une plate-forme commune qui permet aux développeurs de choisir différents moteurs JavaScript.

La sortie de Node.js 8 est très excitante et constitue un grand événement au sein de la communauté. La plateforme est déjà dotée d’un tout nouvel ensemble de fonctionnalités. De plus, les développeurs sont plus préoccupés par les performances.

Savoir quel moteur JavaScript est le meilleur pour exécuter votre application sera une compétence très utile. Dans cet article, nous examinerons les avantages et les inconvénients en termes de performances des différentes versions de V8 et ChakraCore.

Comment

Pour comparer les benchmarks entre différentes versions de Node.js, j'ai sélectionné un échantillon représentatif de 35 modèles de code JavaScript. La plupart d’entre eux sont tirés du dépôt « Will it optimaliser » de Colin Ihrig. Ces modèles ont été abordés dans l'article précédent (Optimisez votre application Node en mettant simplement à niveau Node.js).

Pour chaque modèle, chaque version différente de Node.js a été exécutée respectivement 10 fois, 100 fois, 1 000 fois, 10 000 fois et 10 000 fois. En activant ce code, nous pouvons comprendre comment chaque moteur effectue des optimisations générales d'exécution et des optimisations de fonctions chaudes.

Le benchmark ne prend pas en compte le nombre d'événements de garbage collection (GC). Cela signifie que les résultats de l'expérience peuvent différer si la mémoire allouée à chaque processus est modifiée.

Résultats

Choisissez le meilleur moteur JS pour votre application Node

Vous pouvez consulter les résultats complets du test sur cette page. En analysant ce résultat, nous pouvons voir que la version Node.js de ChakraCore est plus lente que la version basée sur V8.

De plus, dans la plupart des cas, le V8 devient de plus en plus performant avec le temps. L'architecture d'optimisation de l'allumage et du turbofan améliore considérablement les performances. Node.js 8 est publié avec la V8 5.8, mais il n'est pas activé par défaut. Les futures versions de Node.js seront disponibles avec la V8 5.9 (et éventuellement la 5.6) avec Ignition et Turbofan activés.

Conclusion

Ce benchmark était très intéressant et je prévois d'ajouter plus de versions de Node.js et plus de modèles de code à l'avenir. En tant qu'ingénieur Node.js chez Sqreen, je me soucie profondément des performances.

(Annotation : Il y a 4 contenus plus tard, dont la plupart sont des publicités de l'auteur original, ils ne seront donc pas traduits)

Enfin, je recommande ce puissant outil de comparaison visuelle des performances développé par l'auteur : Choisir le meilleur moteur JS pour les performances de votre application Node Et ma conférence : Les programmeurs front-end devraient connaître quelques connaissances en V8.

Adresse originale en anglais : https://blog.sqlreen.com/javascript-engine-performance/

Pour plus de connaissances liées à la programmation, veuillez visiter : Enseignement de la programmation ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:A quoi sert nodejs ?Article suivant:A quoi sert nodejs ?