簡體   English   中英

分析C ++代碼編譯速度

[英]Profiling C++ code compilation speed

如果C ++項目的物理結構有利於編譯速度,您將如何獲得某種客觀測量? 有些人說你應該避免模板以獲得更好的編譯速度,但是如果模板生成大量的非冗余目標代碼,即使行/秒編譯速度不是很高,也不是很糟糕。 所以你不能真正檢查兩個項目之間的線/秒,以便在結構良好時得到一個好主意,加上許多其他因素可能會扭曲結果。

每秒生成的目標代碼量是否是一個很好的衡量標准(顯然在同一平台和編譯器上)? 或者是否有一些代碼分析工具? 對物理結構進行某種客觀測量以了解是否存在改進空間將會很有趣。 例如,如果您應該嘗試進一步優化頭文件依賴關系或將更多代碼分組到cpp文件(ala unity build),請將更多內容從標頭移動到cpp等。

我會考慮計算實例。 有一個用於boost的模板分析器工具可以執行此操作:

https://svn.boost.org/svn/boost/sandbox/tools/profile_templates/

如果您正在使用Visual Studio 2010或更高版本,那么您可以使用名為Meta的擴展來處理調用boost Profiler工具的一些復雜性。

這是Visual Studio 2010擴展的鏈接。 http://visualstudiogallery.msdn.microsoft.com/325d7305-2787-4b1d-9ac7-743e3d767531

源代碼適用於vs 2013版: https//github.com/brandon-kohn/Meta

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM