私は、Java にコンパイルする言語を作成するプロジェクトに取り組んでいます。私たちが使用しているフレームワーク (xtext) は、生成されたコードでボクシングを多用しています。具体的には、次のようなステートメントがある場合:
int i = 1;
int j = 2;
int k = i + j;
コンパイルされたコードは次のようになります。
IntegerExtensions.operator_plus(((Integer)i), ((Integer)j))
現在、私が取り組んでいるプロジェクトでは、特定の基本的な二項演算が非常に一般的になる特定の状況があります (特にインクリメントと比較)。
私の質問は、これはパフォーマンスの面で問題になるのでしょうか、それとも JIT (または同様にインテリジェントな JVM 機能) が単に何が起こっているのかを認識してすべてを修正するのでしょうか?
投稿する前に読んでください: 「気にしないで、読めるようにしてください」という回答を得ることには興味がありません。このコードは生成されたものであり、生成されたコードの読みやすさは気にしません。私が気にかけているのは、これによるパフォーマンスへの重大な影響を受けないことです。
ありがとう