Добавить std::prefetch() функцию
klappdev opened this issue · 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.
boostorg/core#136
Предлагается добавить в С++ переносимую std::prefetch() функцию.