2010-04-10 62 views
-1

我正在尝试分析一个快速排序代码。代码如下:快速排序+分析

qsort [] = [] 
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs) 

请帮我一把!

+0

这是一个非常标准的haskell快速排序。你检查过文档和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 2010-04-10 14:36:23

回答

5

假设您使用GHC,则可以使用-prof标志(可能为-auto-all-caf-all以获取更多详细信息)启用分析。

然后用./a.out +RTS -p运行程序以生成a.out.prof的性能分析结果。

配置文件只包括每个功能花费的总时间和内存。这可能不适合你,因为只有一个功能qsort。正常编译程序并运行./a.out +RTS -sstderr可能已经有足够的信息。

在GHC更多的分析选项见