Я пытаюсь профилировать код быстрой сортировки. код выглядит следующим образом:
qsort [] = [] qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)
пожалуйста, помогите мне!
Если вы используете GHC, вы можете включить профилирование с флагом -prof (возможно, -auto-all и -caf-all для более подробной информации).
-prof
-auto-all
-caf-all
Затем вы запускаете вашу программу с ./a.out +RTS -p, чтобы сгенерировать результат профилирования в a.out.prof.
./a.out +RTS -p
a.out.prof
Профиль включает только общее время и память, затраченные на каждую функцию. Который может не подойти вам, так как есть только одна функция qsort. Скомпилируйте программу обычным способом и запустите с ./a.out +RTS -sstderr, возможно, уже достаточно информации.
qsort
./a.out +RTS -sstderr
См.