Как измерить производительность конструктора копирования по умолчанию в C++
Я хотел бы знать, сколько времени моя программа проводит в конструкторе копирования по умолчанию для определенного класса. Есть ли способ реализовать конструктор копирования способом, идентичным способу, которым конструктор копирования по умолчанию будет реализован компилятором, но с добавлением некоторого инструментария кода, который проверяет текущее время до и после запуска основного тела конструктор?
1 ответ
Используйте gprof или другой профилировщик. Конечно, вы можете написать свои собственные циклы синхронизации, но компилятор C++ может оптимизировать очень агрессивно, что усложняет задачу. Правильный профилировщик скажет вам, где именно программа проводит свое время.