2012-02-15 94 views
3

我有一個C++應用程序,我想測量它在ARM板上的性能。該主板運行Ubuntu。測量ARM開發板上的應用程序性能

目前我正在考慮使用valgrind和gprof來衡量性能。

我應該使用什麼工具/技術來衡量性能?

回答

8

下面是我碰到最後一次跑BIGGIES我不得不這樣做:(?沒有這麼熱與線程)

  • valgrind(只支持皮質ARM處理器.. BOO)
  • mprof
  • gprof的(不那麼熱與線程?)
  • oprofile(需要內核MODS的,但大多數現代內核擁有它。我ARM下使用這個。
  • systemtap(最近端口編輯武裝,看起來真棒 - 像Linux的dtrace)
  • strace和ltrace實際上可能有用,雖然非常高級
  • iostat等以及如果你想踢它的舊學校。
  • 如果你挖
  • ioapps的在/ proc /和/ SYS信息博覽會量 - IO跟蹤
  • lsof的是可用於跟蹤卡插槽和文件句柄
  • SYSTAT
  • PMAP
  • iptraf
  • tcpdump
  • perftools - CPU和內存分析
  • bootchart
  • QEMU可以託管ARM內核/二進制文件,並且可以從外部進行檢測。這對我來說是有用的幾次。
  • 手冊儀表用gcc鉤

    void __cyg_profile_func_enter (void *, void *) __attribute__((no_instrument_function)); void __cyg_profile_func_exit (void *, void *) __attribute__((no_instrument_function));

+1

感謝。任何關於systemtap需要多少努力來設置性能測量的想法?正如你已經使用過oprofile,你應該怎麼看待它? – MA1 2012-02-15 19:53:12

+1

我只讀過系統水龍頭,但我喜歡讀的東西。 oprofile有點重量級和神祕,但那是3年前。如果我必須再次執行此任務,如果systemtap內核設置可用,我會先開始沿着該路徑前進。 – synthesizerpatel 2012-02-15 20:37:36