天天看點

VisualPyTune 釋出第一個穩定版!

VisualPyTune 釋出第一個穩定版!

估計每一個遇到過 Python 性能問題的朋友們都使用過 profile、pstats、timeit 等子產品吧?對于被 GUI 伺候慣了的我們,使用這些指令行工具就有點麻煩了。要記住數以十計的參數,要記得每一個類的方法名稱。強大如pstats.Stats.sort_stats() 函數,記住它的可用參數實在是一件折磨人的事兒。又比如在指令行執行 timeit 的時候,沒有自動縮進,更别提文法着色,甚至不能換行,通常都是錯了三四次後才能完成任務。是以,筆者在深受其害之後痛定思痛,開發了自由免費的 Python 性能調優工具——VisualPyTune(項目首頁http://visualpytune.googlecode.com),簡稱 VPT。

       VisualPyTune的主要功能有:

1)  剖分資料報表浏覽:能夠友善地對資料排序和過濾資料;以餅圖表現callees 函數的剖分資料;檢視函數的 callers 和callees 。

2)  內建圖形化的剖分向導,不用記憶任何剖分器的參數。

3)  內建圖形化的 timeit 功能,再也不用記憶 timeit 的參數;文法高亮的代碼編輯器可以讓你輕松撰寫代碼。

4)  支援輸出資料為純文字檔案,以備日後參考。

       現在,VPT 釋出 0.1.2 版啦!這是第一個穩定版本,相容 windows 和 linux 作業系統,經網友友情測試,也 Mac OS x 下也可以穩定運作,現在就想試試的朋友,請猛擊以下位址下載下傳:http://code.google.com/p/visualpytune/downloads/list。

圖形化的性能剖分界面

VisualPyTune 釋出第一個穩定版!

       對已經完成的項目進行性能剖分有兩種方式:一是修改現有代碼,引入剖分器,然後運作之;二是通過設定 Python 解釋器的運作參數來進行剖分。(關于這一點,請參考拙作《[python]用profile協助程式性能優化》,位址:http://blog.csdn.net/lanphaday/archive/2007/01/15/1483728.aspx )。VisualPyTune 基于第二種剖分方式建構了可視化的圖形性能部分器,簡單配置一下,完全不用記憶參數,更不用修改代碼了,實在是首選啊。

       注:據我在 ubuntu 上的測試和根據網絡文章,發現在 linux 的Python 在 2.5 版本及之後,已經去掉了 profile 子產品和 pstats等子產品,造成 VisualPyTune 無法進行性能剖分。是以大家要手動安裝一下 profile 子產品。在ubuntu 或者 debian 系統上簡單地:sudo apt-get install python-profile 就行了。使用其它作業系統的朋友請查詢服務提供商或 Google。

簡潔多樣的資料浏覽方式

VisualPyTune 釋出第一個穩定版!

       進行性能剖分之後,我們迫不及待地想看看這些資料。以前使用 pstats 子產品檢視剖分資料報表的時候非常痛苦,加載時間長,字元報表不夠直覺,每一次新的需求都要再經曆一次痛苦的長時間加載等待。實在是苦不堪言。VPT 改變了這樣的局面,一次加載就可以讓資料在你的手中随意“翻看”。你可以随時讓資料按你喜歡的方式排序,也可以非常友善地檢視標明的函數的 callers 和 callees。特别是 callees,你還可以通過直覺的餅圖來找檢視剖分情況。這在字元界面時代是不可想象的。

       注:要使用此功能,linux 使用者必須安裝 profile 子產品。方法請參考上一節。

圖形化的Timeit

VisualPyTune 釋出第一個穩定版!

       timeit 子產品肯定是性能敏感人士的最愛,它可以極友善地評測簡單代碼段的性能。可惜的是在指令行使用 timeit 的時候需要加倍小心,特别是代碼段比較複雜的時候,往往要多次嘗試後才能正确地輸入。VPT 裡自帶的圖形化的 Timeit 打破了這一僵局,它自帶了有代碼折疊和文法着色的代碼編輯器,我們可以評測更為複雜的代碼段啦!

       從現在開始,享受 VisualPyTune 吧!