Добрый день, я рекомендовал бы посмотреть в сторону openmp, прагма #pragma omp simd
Код будет переносимым, трудозатрат меньше, результат обычно такой же
В защиту книги дракона — в конце книги в приложении приводится пример (код на Java) для простейшего компилятора с хорошими пояснениями. Если не изменяет память тот пример доходит до генерации синтаксического дерева и трехадресного кода. Оптимизации в том примере еще не рассматриваются. Глава небольшая, но при этом содержит достаточно комментариев к каждому этапу.
Ясно, спасибо. Действительно, я про тот случай, когда внешнего замера достаточно. Если нужно замерять время по внутренним задачам, то тут декоратор вероятно не подойдет.
Если классы предоставляют один и тот же интерфейс — почему для этой цели не использовать декоратор? Внутри которого уже можно замерять время до и после выполнения методов.
А вы не рассматриваете удаленные позиции? Я также пишу на C++ преимущественно, регулярно вижу вакансии с существенно большей вилкой.
g++ -O3 -fopenmp main.cpp
Все работает и векторизуется
Код будет переносимым, трудозатрат меньше, результат обычно такой же