Try   HackMD

2017q1 Homework1 (clz)

contributed by <ryanpatiency>

目標

作業要求 B04: clz

如何觀察程式效能

phonebook中,我們學了perf
raytracing中,我們學了gprof
compute-pi中,我們學了time
所以我們到底要用那個呢?

  • time 的目的是觀察程式的總時間,並研究 multithreads 的特性。
  • perf 可以觀察硬體的行為,並了解各別函式的執行狀況
  • gprof 可以找出函式之間的關係,並找出執行函式一次的時間

如果只是要找程式熱點的話,perf record -e cpu-clock 就可以了。 gprof 的用途應該是找出熱點程式的 seconds/call 和呼叫次數(程式架構),我們也可以利用 seconds/call 來計算某一函式的平均效能

不過當然,可以使用 perf stat 的 repeat 功能來計算平均效能

修改前的程式效能

實驗過程

實作一:

參考資料