Показать сообщение отдельно

  #137  
Старый 22.09.2025, 20:52
guidesoul
Новичок
Регистрация: 26.07.2025
Сообщений: 0
С нами: 423479

Репутация: 0
По умолчанию

Переработана функция supports_avx2, отвечающая за определение поддержки AVX2-инструкций процессором

Старый вариант функции, будучи вызванным внутри основного цикла пермутации, приводил к многократным (миллионы раз) вызовам дорогостоящей инструкции __cpuid.

Новый вариант гарантирует, что проверка __cpuid выполняется ровно один раз за все время работы программы — при самом первом вызове функции.
Результат этой проверки кэшируется (сохраняется) в static переменной has_avx2.

Все последующие вызовы функции supports_avx2 становятся практически бесплатными, так как они просто возвращают уже готовое, сохраненное значение без какого-либо опроса процессора.

Скачать можно в облаке
disk.yandex.ru/d/pSxwq7mMhKsOwg
 
Ответить с цитированием