
Как измерить производительность компилятора Visual Studio при компиляции проекта C++?
Я исследую медленную компиляцию на системе AMD 3955WX (ThreadRipper Pro) в сравнении с системой AMD 5950X (Zen 3).
Способ, которым я тестирую производительность компиляции, заключается в том, что я настраиваю Visual Studio на ведение журнала времени компиляции, компилирую проект C++ на 400 тыс. строк и сравниваю затраченное время. Я не могу поделиться исходным кодом, поэтому никто не сможет подтвердить мои выводы.
Как проверить скорость компиляции компилятора Visual Studio C++?
Это Windows, поэтому я не думаю, что компиляция ядра Linux — вариант... или это так? Я хотел бы получить результаты примерно через минуту... 30 минут компиляции — это отстой.
Есть ли проект с открытым исходным кодом, который люди компилируют?на Windowsдля оценки времени компиляции?
Есть ли лучший способ проверить производительность времени компиляции?
решение1
Ответ на этот вопрос — использовать инструмент vcperf, как описано здесь: https://devblogs.microsoft.com/cppblog/finding-build-bottlenecks-with-cpp-build-insights/
На первом этапе вам нужно выполнить только пункты 1 и 2. Остальная часть статьи, за исключением этого, кажется, затрагивает ключевые моменты.
И полезный совет: убедитесь, что флаг /MP включен для рассматриваемых проектов. ПО НЕКОТОРЫМ ПРИЧИНАМ ОН НЕ ВКЛЮЧЕН ПО УМОЛЧАНИЮ. Этот флаг используется для включения многопроцессорной компиляции.