作者rodion (r-kan/reminder)
看板C_and_CPP
標題[分享] semile: profiler and viewer framework
時間Fri Apr 29 23:28:45 2016
嗨,各位C++er,"歷久卻彌新"是我對c++這個語言的愈來愈深刻的體悟。
語言在持續成長,對於語言的使用者而言,總有種不跟著進步不行了的感
受呢!
於此,不才想要斗膽分享一些自己在GitHub上的作品。
(雖然說了那麼多,這作品也沒用到啥高級的c++炫技就是... :>)
那麼廢話不再多說,以下是正經八百的介紹。
-------------------------------------------------------------------
[工具] semile (semantic profile)
[類別] profiling framework
[前言]
自己有一點點寫較大型C/C++程式的經驗,這些程式時常會有做
profiling的需求。然而,用過的大多數profiling tool(e.g., callgrind)
幾乎都有一個缺憾,就是無法針對同一個函式的不同次呼叫做不同的profile
。
為了滿足上面需求,閒暇之餘設計了一個針對每次目標函式呼叫都
去做監控以及profiling的framework,也因此,它還能幫助我們了解程式在
不同次、不同時間的內部執行狀態喔!
[簡介]
semile包含兩部分:
1. profile函式庫 (by language, e.g., c++)
需要做profile的程式需要適當使用對應的profile函式庫,
目前先只提供c++ language的函式庫
2. profile viewer in PNG & XML格式 (by python3.x)
程式碼 (Repository):
https://github.com/r-kan/semile
更詳細的介紹 (GitHub Page):
http://r-kan.github.io/semile/
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.14.184
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1461943732.A.560.html
推 wtchen: 感謝分享,感覺跟gprof很像... 04/30 01:40
→ wtchen: 我想分享自己的專案或作品也是很好的作法 04/30 02:03
→ rodion: gprof應該也只有"累加"後的profile結果,而無"個別"結果 05/01 12:20
→ rodion: semile一個特別的地方就是它計算"累加"的,也有"個別"的喔 05/01 12:21
推 CoNsTaR: 推啦 好像很利害 05/01 12:27
推 BlazarArc: 推學長XD 有空再來仔細研究 05/04 14:54
→ rodion: Blazar幫忙多發現點bug啊 (希望不會太好找 XD) 05/04 23:59
※ 編輯: rodion (180.177.14.184), 05/05/2016 00:03:21
→ rodion: 支援了更簡單的profile用法囉 (詳情見GitHub) 09/24 19:51