2013-07-02 1 views
8

Часто мне хотелось бы сравнить производительность выполнения нескольких реализаций одной и той же функции. Для отдельных входов критерий - хороший инструмент.Запуск тестов Haskell на входах различного размера

Но что такое простой способ построения производительности кода с изменением размера ввода, например. увидеть алгоритмическую сложность?

В идеале я передаю библиотеке значение типа Benchmarkable r => [(String, Int -> r)], то есть список размерных тестов, и библиотека автоматически найдет разумный диапазон ввода для каждого значения и создаст хороший график.

ответ

8

например. увидеть алгоритмическую сложность?

Там есть пакет для этого:

http://hackage.haskell.org/package/complexity

Однако, я обычно использую QuickCheck вести тестирование на случайных размеров данных, а затем построить результат.

+2

Слишком плохо, кажется, что пакет немного гниет; его зависимость hstats не строится в GHC 7.6. –

+0

Вы говорите мне, что я исправил это год назад ... но это не трудно исправить, для кого-либо еще читающего - просто получите версию из github, пока автор не загрузит новую версию (возможно, в 2014 году?) –

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

  • Нет связанных вопросов^_^