1

Я пытаюсь проверить и измерить производительность моего анализатора javacc. Обратите внимание, что синтаксический анализатор должен читать сообщение и помещать его в формат xml. Я уже тестировал несколько модулей, но мне нужно проверить, насколько это быстро. Каков рекомендуемый способ/инструменты для этого?Измерение производительности Javacc Parser

ответ

2

Вот что я хотел бы сделать. Создайте небольшой файл в StringBuffer. Создайте строку из строкового буфера, считывателя строк из строки и анализатора из читателя. Обратите внимание на время процессора. Синтаксический. Обратите внимание на время CPU. Вычитание. Теперь повторите для большего файла и еще большего размера и так далее. Я перезапустил процесс JVM для каждого повторения, чтобы сбор мусора был менее вероятным. Вероятно, время для небольших файлов сильно зависит от размера кеша. По мере того, как файлы становятся больше, время разбора на байт, вероятно, приближается к пределу. Этот предел будет отражать время в байтах, игнорируя кеш.

См. http://nadeausoftware.com/articles/2008/03/java_tip_how_get_cpu_and_user_time_benchmarking для получения информации о получении процессорного времени.

Конечно, ряд факторов попытается испортить ваши результаты. Например, сбор мусора. См. Measuring time spent on GC in JVM.

Смежные вопросы