24

[質問を編集して、シナリオを Node.js のみに絞り込みました。もう一度開いてください。これは有益な質問であり、チャクラコアはまだ非常に若い年齢であるため、適切な答えは将来、すぐに出てくる可能性があります. しかし、この質問は有効であり、ここにあるはずです]

Google の V8 エンジンの栄光と、それがどのように node.js を美しいものにしたかについて、私たちは皆、何年も前から知っている、読んだ、聞いたことがあります。

しかし、Microsoft の ChakraCoreGoogle の V8 のいずれかを推奨する JavaScript エンジンとして選択できるようになったので、nodejs に対して一方が他方よりも効率的であることが判明した証拠やテストケースがあるかどうか疑問に思っています

Microsoft を愛しているという理由だけで Chakra を使用/選択するべきではないため、いくつかの事実と結果を添えて回答を裏付けてください。また、V8 と Google にも同じことが当てはまります。

ありがとう。

4

2 に答える 2

25

それらはどのように違うのですか?

ほとんどの最新の JavaScript エンジンは、すべてのJavaScript コードを効率的なマシン コードに変換します ( source ) が、Chakra にはインテリジェントで高性能なインタープリターがあります。このインタープリターには、コードをマシン コードにコンパイルするか解釈するかを決定できるインテリジェントなヒューリスティックがあります。インタープリターは通常、起動が速く、実行に必要なメモリが少ないため、リソースに制約のある環境 ( Raspberry Piなど) にとって Chakra は非常に魅力的です。

2015 年に Microsoft は Chakra を使用した Node.js のサポートを導入し、開発者がWindows IoT Core プラットフォームをターゲットにできるようにしました。最近の ChakraCore のオープンソース化により、Microsoft はオープンに開発し、Node.js のリリース スケジュールにうまく合わせることができました。

最近のJavaScript Air のエピソードで、Steve Luccoは Chakra チームが「コミュニティを真剣に受け止め、エンジンが進む方向性に関して彼らの意見を真剣に受け止め、コミュニティにもっと多くの意見を与えることを計画している」と述べました。たとえば、彼らは V8 の方向に持っていました

メモリ効率の高い JavaScript エンジンを構築するために、Microsoft は実際に競争力のある高速なエンジンを構築しました。この記事が書かれた時点で、チャクラ はいくつかのケースで V8 を上回りました。


(出典: msecnd.net )

ベンチマークは必ずしも実際のパフォーマンスを示すものではありませんが、VM のパフォーマンスにおけるこの競争は、最終的にすべての VM のユーザーの Node.js ランタイムを高速化することにつながります。

また、独自の JavaScript エンジンを持つことで、Microsoft は自由に革新できるようになることにも言及する価値があります。初期のイノベーションの 1 つは、タイムトラベル デバッグです。

于 2016-05-24T09:15:44.717 に答える
6

それらはどのように違うのですか?

質問が広すぎて、現在の形式で回答することはできませんが、回答してみます。

Google の V8 エンジンには、非常に高速なパフォーマンスを実現するために必要なすべての機能が備わっています。したがって、基本的にこれはかなり長い間nodejsのベースであり、長期的には存在します。

一方でMicrosoftのChakraCoreも盛んに開発されており、 Chakra ShimChakraCoreの2層構造(名前は挙げられません)となっています。Chakra Shim は最も重要なV8 APIを実装しているため、基盤となる JavaScript エンジンの変更は Node.js や V8 用に作成されたその他のネイティブ アドオン モジュールに対して透過的です。

ソース: NodeJs-ChakraCore

OP の場合: webassemblyも探してください。

于 2016-05-24T08:11:59.900 に答える