Я хочу выяснить разницу в производительности между двумя приложениями Java.
Оба являются алгоритмами поиска по дереву, но более быстрый из них требует большего количества разыменований указателей и меньшего объема памяти (путем статического анализа). p>
Я полагаю, что более высокая производительность обусловлена лучшей локальностью — более высокой частотой попадания в кэш ЦП.
Чтобы проверить свою гипотезу, я попытался профилировать производительность кэша ЦП с помощью Intel VTune, однако я обнаружил, что он не поддерживается в последней версии Intel VTune Profiler v2024.3.0:
Анализ доступа к памяти не поддерживается внутри виртуальной машины, поскольку события uncore невозможно собрать. Для получения полной функциональности рассмотрите возможность использования среды без ОС.
Итак, мой вопрос: как я могу профилировать производительность кэша ЦП для приложения Java?
Или глупо ли заботиться о таких низкоуровневых метриках для Java?
Будем очень признательны за любые предложения и советы.
Подробнее здесь: https://stackoverflow.com/questions/791 ... -java-apps