У меня БОЛЬШОЕ приложение, которое я пытаюсь оптимизировать.
для этого я профилирую / тестирую небольшие его элементы, выполняя их миллионы раз в цикле и проверяя время их обработки.
очевидно, JIT Hotspot начинает действовать, и я действительно могу видеть, когда это произойдет.
Мне это нравится, я могу ясно видеть, что дела идут намного быстрее после периода «разогрева».
однако, после достижения максимальной скорости выполнения и выдерживания ее в течение некоторого времени, я вижу, что затем скорость уменьшается до менее впечатляющей, и она остается там.
то, что выполняется в цикле, на самом деле не сильно меняется, поэтому я с трудом могу понять, почему escape-анализ вызвал бы «де-оптимизацию» кода.
По сути, я чувствую, что JIT получает лучшую производительность, а затем соглашается на что-то более медленное, думая, что этого "достаточно".
есть ли способ сказать ему: "Этого недостаточно, я действительно хочу, чтобы этот код выполнялся как можно быстрее!"
Я знаю, что может, как это уже было. Как я могу заставить это сделать?