Quicksort + Profiling
Pregunta
Estoy tratando de perfilar un código de clasificación rápida. el código es como sigue:
qsort [] = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)
Por favor, ayúdame!
Solución
Suponiendo que utilice GHC, puede activar el perfilado con la bandera -prof
(probablemente -auto-all
y -caf-all
para más detalles).
A continuación, se ejecuta el programa con ./a.out +RTS -p
para generar el resultado de perfiles en a.out.prof
.
El perfil sólo incluye el tiempo total y de memoria dedicado a cada función. Que puede no ser adecuado para usted, ya que sólo hay una qsort
función. Compilar el programa normalmente y carrera con ./a.out +RTS -sstderr
puede tener suficiente información ya.
Ver
- http://www.haskell.org/ghc /docs/latest/html/users_guide/profiling.html para más opciones de perfiles de GHC.
- http://book.realworldhaskell.org/read/profiling-and -optimization.html de cómo analizar la información de perfil.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow