Если это будет вызываться так мало раз, что jit-компилятор не будет иметь времени для встраивания и оптимизации, теоретически мультикарта будет более дорогой из-за дополнительных вызовов стековых фреймов / методов.
ОднакоВаш основной способ измерения потребует миллионов вызовов, которые будут скомпилировать и встроить эти микро методы.Они вполне могут оказаться равными по производительности.
Вот куча аргументов JVM, чтобы показать больше того, что происходит во время вашего теста.Я позволю вам искать в сети то, что они делают.
-verbose:gc
-XX:+PrintGCDateStamps
-XX:+PrintGCDetails
-Xloggc:"./gc.log"
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=1M
-XX:+PrintGCApplicationStoppedTime
-XX:+PrintCompilation
-XX:+PrintSafepointStatistics
-XX:PrintSafepointStatisticsCount=1
-XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation -XX:+PrintInlining
Последнее трио optins генерирует файл журнала, который можно использовать с "JitWatch", программой графического интерфейса, анализирующей и просматривающей все эти вещи и рассказывающей вам оJit события более дружественным образом.
Вы должны разработать свой тест без печати, конечно.Кроме того, и это ОЧЕНЬ важно, вы должны возвращать значение для каждого теста, иначе JIT обнаружит, что вы его не используете, и пропустите весь ваш код!Микробенчмаркинг теперь наука!См. Как написать правильный микро-тест на Java?