それは、JVM が C よりも遅いという一般的な考えが間違っているということですか、それとも元の C 実装に欠陥があるということですか?
両方のビット
JVM は長い間使用されており、効率が大幅に向上しています。ガベージ コレクション、ジッティング、キャッシング、およびその他の領域は、PHP などの「リファレンス」実装よりも高度です。
PHP の内部を調べれば、効率が簡単に向上する理由がわかるでしょう。
個人的には、JVM が CPython よりも優れているとは思えませんが、間違っている可能性もあります。これは、JVM GC が高速であり、IronPython も高速であるためです。パフォーマンスの向上は、スタックレス Python などの C コール スタックに依存しない場合があります。Jython サイトの状態
Jython は CPython とほぼ同じ速さで、速いときもあれば遅いときもあります。>ほとんどの JVM (確かに最速の JVM) は長時間実行されるため、ホット コードは時間の経過とともにより高速に実行されます。
キャッシュが生成されるとJVMがCパフォーマンスレベルに到達するなど、基本的にVM実装コードのより高いレベルの側面を無効にするため、これを事実と見なすことができます(とにかく大部分はCで書かれています)
PHP や Python などの多くのインタープリター言語では、同等の C 呼び出しへの橋渡しにすぎず、マシン コードに飛び込みます。JVM では、Jitter はバイトコードを同等のマシン コードに変換することで同様の機能を実行します。最終的に、高レベルの構文やバイトコードなどの中間表現は、通常、とにかく C 速度またはより高速な CPU 操作に削減されます...したがって、すべて同じであり、ロード時の完全な効率までのレイテンシにのみ影響する中間ステップが増えるだけです。新しいコード。RAM には、「本当の違いは何ですか?」と言うポイントがあります。答えは、そこにたどり着くプロセスと、スタック巻き上げの速度、ガベージ コレクション アルゴリズム、レジスタの使用法、算術などの論理表現を決定する最終的な表現だけです。