星期二, 7月 31, 2012

練習Metaprogramming

之前讀完Metaprogramming Ruby就一直想找個機會練習metaprogramming,現在終於有機會了。

atop是一個Linux上很好用的效能監視工具,在LWN上有一篇介紹的文章One-stop performance analysis using atop

可是,分析atop的輸出檔就很痛苦了,system-level的部份畫出圖表來就一目瞭然,但,想要細究圖表中的變化,就要靠分析process-level的資料,但,process-level的資料實在太多了,一下子就被滿坑滿谷的資料淹過去。

在人工分析幾次後,我就想說﹙用Python﹚寫個程式來分析自動產生圖表吧,寫了幾行發現重複性的code很多,於是就藉機用metaprogramming的方式來處理,果真是威力強大啊!幾行code就把system-level處理的差不多了,剩下process-level。

事實上,我在使用metaprogramming之前,有用PyGTK硬寫出一個產生圖表的程式,但,無奈,產生圖表的函式庫功能不符需求,轉而使用pyplot。想說都重寫產生圖表的部份了,乾脆來重寫一次吧!才誕生metaprogramming的版本。

專案atop-plot放在github上,請各位多多指教。

星期日, 7月 15, 2012

一口氣補上The Linux Programming Interface第六,七章的投影片。
TLPI - 6 Process
View more presentations from Shu-Yu Fu
Tlpi 7-memory-allocation
View more presentations from Shu-Yu Fu