私は、広範なコンパイル時の計算を伴う C++ プロジェクトに取り組んでいます。長いコンパイル時間は私たちを遅くしています。テンプレート メタ プログラムの最も遅い部分を見つけて最適化するにはどうすればよいですか? (実行時の計算が遅いときは、valgrind のツールなど、多くのプロファイラーから選択できますcallgrind
。そのため、デバッグ GCC を作成し、コードをコンパイルしてプロファイリングしようとしましたが、そこから多くを学ぶことはできませんでした。)
私は GCC と Clang を使用していますが、提案は大歓迎です。
Boost のサイトで見つけましprofile_templates
たが、ドキュメントが薄く、jam/bjam ビルド システムが必要なようです。ジャム以外のプロジェクトで使用する方法を示した場合1、私はあなたに賛成票を投じます。https://svn.boost.org/svn/boost/sandbox/tools/profile_templates/は、インスタンス化の数をカウントしているように見えますが、所要時間をカウントするのが理想的です。
1 私たちのプロジェクトは CMake を使用しており、テンプレートのプロファイリングのためだけに Jamfile をハッキングするのに十分なほど小さいです。