Запретить функцию от печати на экран
В настоящее время я использую GHCI для измерения времени выполнения нескольких функций. Поскольку эти функции производят довольно длинный вывод, который меня не интересует, мне было интересно, есть ли способ предотвратить вывод таких выводов на экран и отображать только время выполнения, полученное с помощью::set + s
1 ответ
Я бы порекомендовал вам использовать criterion
измерить время выполнения. Он заботится о том, чтобы оценить результаты чистых функций для (WH)NF, повторить тест несколько раз и т. Д.
Если вы хотите скрыть вывод, сохраняя при этом все оцениваемое, я бы посоветовал вам параметризовать ваш код относительно вывода. Например, по Handle
или просто функцией типа String -> IO ()
, Затем вы можете легко перенаправить вывод в файл, чтобы /dev/null
или в последнем случае даже просто форсируют его оценку, передавая evaluate . rnf
,