[英]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.