2010-04-10 105 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更多的分析選項見