Вызывает ли боксинг проблемы с производительностью?

Я работаю над проектом, в котором мы создаем язык, компилируемый в java. Используемый нами фреймворк (xtext) широко использует boxing в генерируемом коде. В частности, если у вас есть утверждение типа:

int i = 1;
int j = 2;
int k = i + j;

Тогда скомпилированный код выглядит так:

IntegerExtensions.operator_plus(((Integer)i), ((Integer)j))

Теперь, в проекте, над которым я работаю, есть некоторые ситуации, где определенные базовые бинарные операции будут чрезвычайно распространены (особенно инкременты и сравнения).

Мой вопрос: будет ли это проблемой с точки зрения производительности, или JIT (или аналогичные интеллектуальные функции JVM) просто поймет, что происходит, и все исправит?

ПОЖАЛУЙСТА, ЧИТАЙТЕ ПЕРЕД ПОСТАВКОЙ: Я не заинтересован в получении ответов типа "тебе все равно, сделай это читабельным". Этот код генерируется, и я просто не забочусь о читабельности генерируемого кода. Что меня действительно волнует, так это то, что мы не получим значительный удар по производительности от этого.

Спасибо

5
задан Jeff 11 December 2011 в 23:09
поделиться