2
(我正在尋找類似於this post的東西,但注重GCC/Linux)。使用GCC/CLANG跟蹤代碼膨脹的工具
我有很多使用大量元編程和特殊情況優化的模板沉重(如「僅模板」)代碼。 生成的二進制文件非常大,編譯時間很長。
現在我想檢查哪些函數模板生成最內嵌的彙編代碼。 我該怎麼做?
一些背景:
- 我們有一個沉重的算法組件的C++模板庫。原作者的注意力集中在運行時速度上,並沒有考慮編譯時速度這麼多。
- 我想提高編譯時的速度,但保持運行時速度不變,從而將一些決定放在運行時而不是編譯時。
- 這是IMO的第一步是查看實例化副本中哪些函數模板最重。
- 下一步就是將這些信息與它們在探查器中的使用程度相結合,並且只保留許多特殊情況下的編譯時間選項以適應熱內循環。
這是正確的路嗎?任何專業提示?