hibernate @ManyToMany, двунаправленная загрузка с нетерпением

Предпосылки: Я реализовал стохастический алгоритм, который требует случайного упорядочения для лучшей сходимости. Однако это явно разрушает локальность памяти. Я обнаружил, что за счет предварительной выборки данных следующей итерации падение производительности сводится к минимуму.

Я могу предварительно выбрать n строк кэша, используя _mm_prefetch в простом, в основном OS + компиляторе- портативный мод - а какая длина строки кэша? Прямо сейчас я использую жестко запрограммированное значение 64, которое в настоящее время кажется нормой для процессоров x64, но я не знаю, как это определить во время выполнения, есть ли разумная альтернатива _mm_prefetch с #define CACHE_LINE_LEN 64 ?

8
задан Community 23 May 2017 в 10:29
поделиться