У меня есть несколько тестов, которые я хотел бы проверить, используя критерий. Проблема в том, что функция, которую я пытаюсь сравнить, может занять очень много времени (100 секунд).
Моя настройка примерно такая
benchmarks128StatesMediumFormulas =
[
bench "Testing for transition system t128StatesAgents1 and feasy"
(nf (myFuntion x1 x2) 2),
bench "Testing for transition system t128StatesAgents2 and feasy"
(nf (myFunction x1 x2 feasy) 2)
]
, где моя функция - это функция I нужно провести бенчмарк, а x1 и x2 определены где-то еще в файле.
Затем я делаю
main :: IO ()
main = defaultMain
[
bgroup "for one agent easy:" benchmarks128StatesEasyFormulas
]
Затем я получаю вывод чего-то вроде
benchmarking 128 states and easy formulas:/Testing for transition system t128StatesAgents2 and fEasy1
time 115.5 s (111.1 s .. 119.2 s)
1.000 R² (0.999 R² .. 1.000 R²)
mean 115.7 s (115.0 s .. 116.7 s)
std dev 983.9 ms (389.9 ms .. 1.263 s)
variance introduced by outliers: 19% (moderately inflated)
Проблема в том, что это более часа, чтобы получить такой результат.
Это потому, что критерий использует слишком много выборок ?? Или есть какая-то другая проблема? Можно ли обойти эту проблему ??
Я читал что-то о опции --time-limit
, но не совсем понял, как она работает. Если решение вращается вокруг --time-limit
, как я могу передать этот аргумент при использовании stack benck
?