У меня есть приложение C ++ на основе Eigen, в котором я заинтересован в генерации распределений времени для разных шагов таким образом, чтобы можно было построить график производительности распределения времени. Это поможет быстро найти текущие узкие места, например, компиляция с использованием MKL в качестве бэкэнда и т. д.
Как я могу использовать Boost Log для этой цели? есть ли встроенная поддержка в Boost Log, чтобы показать прошедшее время с последнего оператора регистрации для определенного уровня?
Хорошо, я обнаружил, что библиотека Boost Log (я использую последнюю версию 1.54) поддерживает предопределенные и настраиваемые атрибуты, и именно так предлагается функциональность. Предопределенный атрибут Секундомер (таймер) «обеспечивает высокое разрешение оценки времени и может даже использоваться как простой инструмент профилирования производительности на месте».
Других решений пока нет …