ideas icon indicating copy to clipboard operation
ideas copied to clipboard

Добавить std::prefetch() функцию

Open klappdev opened this issue 2 years ago • 0 comments

В последние стандарты активно добавлялись вещи для оптимизации кода. Например, в C++20 были добавлены атрибуты [[likely]], [[unlikely]]. В C++23 было добавлено атрибут [[assume]], функция std::unreachable().

Одним из таких техник оптимизации является префектичинг кеша процессора.

Во многих компиляторах, это доступно в виде интринсиков. https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005fprefetch https://clang.llvm.org/docs/LanguageExtensions.html#builtin-prefetch

В boost.context есть уже такая функция. https://www.boost.org/doc/libs/1_81_0/boost/context/detail/prefetch.hpp

Планируется также добавить в boost.core. https://github.com/boostorg/core/issues/136

Предлагается добавить в С++ переносимую std::prefetch() функцию.

klappdev avatar Aug 24 '23 13:08 klappdev