J'essaie de profiler un code quicksort. le code est le suivant:Quicksort + profilage
qsort [] = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)
aidez-moi s'il vous plaît!
J'essaie de profiler un code quicksort. le code est le suivant:Quicksort + profilage
qsort [] = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)
aidez-moi s'il vous plaît!
En supposant que vous utilisez GHC, vous pouvez activer le profilage avec le drapeau -prof
(probablement -auto-all
et -caf-all
pour plus de détails).
Ensuite, vous exécutez votre programme avec ./a.out +RTS -p
pour générer le résultat de profilage en a.out.prof
.
Le profil inclut uniquement le temps total et la mémoire alloués à chaque fonction. Ce qui peut ne pas vous convenir, puisqu'il n'y a qu'une seule fonction: qsort
. Compilez le programme normalement et exécutez avec ./a.out +RTS -sstderr
peut avoir suffisamment d'informations déjà.
Voir
Il s'agit d'un quicksort haskell très standard. Avez-vous vérifié les docs et le wiki? http://www.haskell.org/ghc/docs/latest/html/users_guide/profiling.html http://www.haskell.org/haskellwiki/How_to_profile_a_Haskell_program – tzaman