2010-04-10 5 views
-1

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!

+0

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

Répondre

5

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