Я могу представить, как шаблоны выражений делают ужасные вещи для компиляции времени для таких широко распространенных вещей, как векторы/матрицы/кватернионы и т. д., но если это такой большой прирост скорости, почему его не используют в играх? Совершенно очевидно, что инструкции SIMD могут эффективно использовать параллелизм на уровне данных. Шаблоны выражений и ленивые вычисления вместе кажутся разумными, по крайней мере, когда речь идет об исключении временных объектов.
Поэтому, хотя такие библиотеки, как Eigen, рекламируют такие функции, я не вижу, чтобы это обычно делалось в промежуточном программном обеспечении (например, Havok) или играх, где все очень критично по скорости. Может кто-нибудь пролить некоторый свет на это? Связано ли это с недетерминизмом или предсказанием ветвления?