星期二, 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

星期日, 6月 03, 2012

本週讀完了程式設計師的自我修養第10章,投影片在這

星期三, 12月 07, 2011

當用GStreamer啟動多個pipelines時,如果記憶體使用的很多,其中一個可能原因是thread stack size!

用ulimit -s [KByte_SIZE]調小試看看吧!

原文參考[gst-devel] Memory usage


星期六, 11月 19, 2011