今天我將以一個簡單的程序為例子,介紹如何使用VS2012 performance analysis tool來觀測程序的運行效率並對程序進行優化。
例子程序是一個簡單的對文本的詞頻統計程序。寫完程序后,我們點擊ANALYZE --> Start Performance Analysis可以進行分析。這是最簡單的一種分析方法,原理是對CPU的運行進行采樣,從而得出程序的各個部分所占用的運行時間。 當分析進行完后,我們可以得到一張report如下:
圖的上方是cpu使用的分析,我們可以發現程序的運行時間是:120s左右
圖的下方是各個程序所占用的時間,我們發現,split語句占用了整個程序的近80%的時間,因此,我們考慮可以自己實現split功能。
這是優化后的程序的分析report:
我們看到,程序的運行時間減少道路30秒多一點,而主要的耗時代碼是字典操作的部分。因此我們可以進一步考慮自己實現字典容器,這里就不再演示了。
還有一些值得注意的地方:
1. 想對程序優化,首先要注意必須在release模式下編譯運行,如果是debug模式,再怎么優化也是沒有意義的。
2. 事實上分析report還有其他的瀏覽方式,我們可以看到在最上方,有個Current View: Summary,下拉以后還有很多別的組織方式,總之可以選擇一個最有利於分析的呈現方式,來幫助你優化程序