Использование профилировщика
В существующем виде функция объявлена встроенной в классе.Этот код будет тривиально оптимизирован, и компилятор в любом случае, вероятно, получит распределения из цикла (в зависимости от того, какое количество ошибок вы оставили за кадром).
Также перегруженные операторы массива, вероятно,векторизация в gcc (начиная с -O3 -ftree-vectorize).Просто посмотрите на подробный вывод с
g++ -O3 -march-native -ftreevectorizer-verbose=2 ...
, чтобы увидеть, какие циклы были векторизованы, и если нет, то почему бы и нет.Во что бы то ни стало взгляните на вывод g ++ -S и т. Д.
Используйте профилировщик .Не «оптимизируйте», если вы не знаете, что это необходимо.