私の技術の理解は、それを組み立てるためにオンザフライでコンパイルされているということです。速度スペクトル上ではJavaよりも遅いが、RubyやPythonよりも速い。クライアント側ではインタプリタが意味を持ちますが、サーバー側では、実行前のコンパイル、または少なくともこれを行うオプションがあることが、最適なアーキテクチャです。 JavaScriptをこの方法であらかじめコンパイルしておけば、Javaより速く実行できますか?それとも、弱く型付けされた言語とは関係があります。つまり、JavaScriptはJavaよりも遅くなります。実行時にNode.jsがコンパイルされないのはなぜですか?
19
A
答えて
21
Node.jsのいくつかはC++であり、あらかじめコンパイルされています。しかし、私の理解は、可能な限りJavascriptでそれを維持する努力があったが、パフォーマンスが悪い場合はC++が使用されたということです。
Node.jsはV8 JavaScript Engineなしでは使用できません。これはjavascriptをコンパイルするものです。このエンジンは非常に高速であることで有名です。 Chromeブラウザ用に作られたものですが、Node.jsでもパフォーマンスが向上します。
Node.jsのパフォーマンスに関して、Webサーバーとしては、とApache + PHPのような他の主要なWebサーバーと同等以上のです。したがって、パフォーマンスは一般的な使用例では問題になりません。つまり、より速い技術があります。 Erlangベースのサーバーは、並行負荷の方が高速であることが知られています(興味深いことに、Erlangは動的型付き言語です)。
cpu/gpuの集中的な処理では、Fabric Engineで温度を調整しないと、Node.jsは良い選択ではありません。この場合、C++と同じレベルになる可能性があります。 - http://www.dartlang.org/support/faq.html
- ダート:
は現在、JavaScriptでの速度の問題を検討しているプロジェクトがいくつかあります。 (スピードだけでなく、その一部です)。
- ノード先住民 - https://github.com/d5/node.native/
関連する問題
- 1. Node.js - 2つのクエリが実行されないのはなぜですか?
- 2. コンパイル時に解決されないディレクティブはなぜですか?
- 3. メインスレッドのデバッグ時にワーカースレッドが実行されないのはなぜですか?
- 4. アイドル時に変換が実行され、プログラムは実行されないのはなぜですか?ここ
- 5. クエリとバッチが同時に実行されないのはなぜですか?
- 6. 実行時に結果が返されないのはなぜですか?
- 7. 実行時ではなくコンパイル時にエラーを見つけるほうがよいのはなぜですか?
- 8. なぜNode.js libuvスレッドプールの実行が同時に行われないのですか?
- 9. ExpressでNode.jsスタイルのコールバックが実装されないのはなぜですか?
- 10. Javascriptコードが実行されないのはなぜですか?
- 11. ターゲットが実行されないのはなぜですか?
- 12. イベントが実行されないのはなぜですか?
- 13. スクリプトが実行されないのはなぜですか?
- 14. SQLSRVクエリが実行されないのはなぜですか?
- 15. 機能が実行されないのはなぜですか?
- 16. Javascriptファイルが実行されないのはなぜですか?
- 17. if文が実行されないのはなぜですか?
- 18. コールバックが実行されないのはなぜですか?
- 19. Javaコードが実行されないのはなぜですか?
- 20. Node.jsコールバックが実行されない
- 21. getrandom()がコンパイルされないのはなぜですか?
- 22. CircleTestクラスがコンパイルされないのはなぜですか?
- 23. [] mutable {}がコンパイルされないのはなぜですか?
- 24. DelegeateCommand.Execute()が実際に実行されないのはなぜですか?
- 25. なぜ私のループが実行されないのですか
- 26. 条件が実行されると、単純なJavascriptが実行されないのはなぜですか?
- 27. setTimeoutが予想された時間に実行されないのはなぜですか?
- 28. なぜDispatchQueue.main.asyncが実行されないのですか?
- 29. なぜサブルーチンが実行されないのですか
- 30. Java - なぜsystem.exit(0)が実行されないのですか?
これは、あなたの質問にお答えします:http://java.dzone.com/articles/what-javascript-equivalent – alfasin
現代のJavaScriptインタプリタは、実際の通訳が、適応のコンパイラではありません。しかし、動的言語は通常、静的言語よりも(タイプチェックのために)実行するのが遅いため、おそらくJavaほど速くはありません。 –
静的なタイピング(または気分が良い場合は「強いタイピング」)は、いくつかの言語にパフォーマンスの改善をもたらす要因の1つですが、それは唯一の要因とは限りません。私が言っていることは、特定のベンチマークのパフォーマンスを必ずしも高水準の技術選択肢に変換することはできないということです。たとえば、Grails(JVM)、Express(node.js)を定期的に使用しています。 Grailsが10秒未満で起動すると私は運が良いと思うが、同等の機能を提供するExpressはミリ秒単位で始まる。 –