pypy は現在、プラグ可能な JIT と GC を使用して Rpython をネイティブ コードに変換します。現在、Python フロントエンドがあります。Java Bytecode フロントエンドを pypy に記述して、代替のクールな JVM ((R)Python で記述) を作成することが可能かどうか疑問に思っています。
1 に答える
Java バイトコード用の RPython インタープリターは、Java バイトコードからネイティブ コードへのコンパイラーにはなりません。RPython コードは、インタープリターが解釈しているコードではなく、ネイティブ コードにコンパイルされます。
実行時に (一部の) 解釈されたコードはネイティブ コードに JIT コンパイルされますが、それは完全に異なり、HotSpot VM は既にこれを行っています。HotSpot が長い時間をかけて開発され、重要なリソースが背後にあり、Java 用に特別に調整されていることを考えると、PyPy からこれほど優れたものを得ることができるとは思えません。
PyPy の強みは、ガベージ コレクターや JIT コンパイラーなどを、解釈している言語とは独立して動作するフレームワークとして記述できるという考えです。その後、多くの人が多くの言語用に多くのインタープリターを作成し、かなり高レベルで簡単にコーディングできる方法でそれらを作成できますが、それらはすべて、高品質の GC、JIT コンパイラーなどを特別に実装する必要なく取得できます。各言語。PyPy は、高度に最適化された GC と、その言語用に特別に調整された JIT コンパイラーの開発にすでに膨大な量のリソースを投入している既存のプロジェクトの妥当な代替物になる可能性は低いです。