HotSpot JVMチームは、Java、Javascriptなどを動的にコンパイル/インジェクトしてJVMの速度で実行できるように、非常にクールなプロジェクトを開発しています。 質問: - OpenJ9はGraal/Truffleと相互運用できますか? - OMRがGraal/Truffleに似ている場合は、それらを比較できますか?OpenJ9とProject Graal/Truffle
答えて
トリュフAPIのサポートに関するいくつかの情報はここにある:OMRとグラール間 https://github.com/eclipse/openj9/issues/59
比較はここに書かれていますhttps://github.com/eclipse/omr/issues/1118
はその問題からジョンDuimovichを引用:だから
、簡単な答えは、Truffle/Graalがプログラミング言語を実装するためにJVMを使用することを検討しているということです。 Truffleは、ASTパーサを実装し、Graal(詳細はスキップされている)を介して最適化することで、言語を実装するために使用されます。 Graalはコード生成に重点を置き、ガベージコレクションのためにJavaに依存しています。 Javaで言語を実装します。ターゲット言語の多くはC/C++を実装言語として使用しているので、これは初心者ではないかもしれませんが、おそらくTruffleCを使って直接コンパイルすることができますが、それはオープンソースだとは思いません。印象的なベンチマークがあるので、そこにはクールなものがあります。
と
EclipseのOMRは、生産準備IBMのJavaによって使用されるコード、および他の言語へのブートストラップしようとしている、Javaで良いベンチマークを持っていますが、他の言語のための証拠のポイントはまだ進行中ですOMRはオープンソースプロジェクトとして約1年程であるためです。既存の言語実装者は、コンポーネントを段階的に採用できるようにC/C++実装を書き直す必要はありません。コード・ジェネラル・ライブラリを統合したい場合や、統合する別のGCインプリメンテーションを使用する場合は、OMRがモジュラー・コンポーネントとして提供されているので選択します。
また、JavaコードでJavaからOMRのJITBuilderコードジェネレータを起動できるプロトタイプもあります。 https://www.youtube.com/watch?v=w5rcBiOHrB0
- 1. Project Professional 2013とProject Server 2013の接続
- 2. virtualenv project vs django/rapidsms project
- 3. WebService Project Java on Gradle Project
- 4. MVC 3:AutoMapperとProject/Solution Structure
- 5. Xcode ProjectをXamarin Projectからエクスポートする
- 6. Selenium webdriver、chrome browser、maven project、junit project
- 7. SharePoint Project
- 8. Android Project
- 9. Eclipse StatETの "R Project"と "R Package Project"の違いは何ですか?
- 10. project.properties in android project
- 11. subversioning ipad app project
- 12. Noun Project CSSラッパー?
- 13. A lan pet Project
- 14. NullPointerException java circle project
- 15. Javascript Canvas Flowcharting Project?
- 16. Angular2 - Project Structure
- 17. Mongo $ group with $ project
- 18. SubSonic.Core with Commercial project
- 19. <project> .meteor.com
- 20. Canonical 'simple project'メイクファイル
- 21. Java Project Documentation
- 22. Boxfuse + Jhipster project
- 23. Laravel Project Organization
- 24. エスプレッソネットワークテスト(RxJava-Project)
- 25. Project Server CSOMローカルカスタムフィールド
- 26. SpringMVC Maven Hibernate Project
- 27. android multiple project
- 28. android projectのカスタムフォント
- 29. php project with java
- 30. OO Design - Java Project
>ターゲット言語の多くがC/C++を実装言語として使用するため、これは非スターターである可能性があります。 たとえば、Cコードを呼び出すことができます。 JNIにはGraalLLVM [1](コードネームsulong)があります。これはJVM内でC/C++/Fortranを実行します(他のTruffle言語と同様に解釈されます)。 R/Rubyネイティブ拡張を実行するためにこれを使用しているFastRまたはTruffleRubyを参照してください。 [1] https://github.com/graalvm/sulong – Steves
...もちろん、問題の可能性がある既存の実装を移植したいのであれば、同時に利益を得ることはないでしょうORM/Truffleが提供するものにその実装を採用します。 – Steves