Какой инструмент / фреймворк для макро-бенчмаркинга лучше всего подходит для измерения однопоточного сложного алгоритма в Java? [закрыто]

я хочу сделать некоторые измерения производительности (в основном времени выполнения) для моего кода Java, однопоточного, локального, сложного алгоритма. . (Поэтому я не хочу, чтобы макро-тест измерял реализацию JVM.)

С помощью этого инструмента я хотел бы

  • проанализировать сложность , то есть посмотреть, как мой код масштабируется для параметра n ( глубина поиска). (У меня уже есть тест junit, параметризованный в n.)
  • проведите некоторый анализ тенденций , чтобы получить предупреждение, если какое-то изменение в базе кода замедлит работу кода.

Для этого я хотел бы используйте инструмент или структуру, которая

  • выполняет статистику , оптимально вычисляя среднее значение, стандартное отклонение и доверительные интервалы. Это очень важно.
  • может быть параметризовано (см. Параметр n выше). Это также очень важно.
  • может создать причудливый график, было бы неплохо, но не требуется.
  • можно использовать в автоматическом (junit-) тесте, чтобы предупредить меня, если моя программа замедляется, но это тоже не требуется, просто плюс.

Какие инструменты / фреймворки удовлетворяют этим требованиям? Какой из них лучше всего подходит для анализа сложности и тенденций и почему?

53
задан 21 revs, 2 users 100% 31 October 2013 в 03:34
поделиться