История изменений
Исправление hateyoufeel, (текущая версия) :
так я уже сравнивал, написал при каких числах быстрее, допустим 64 особенность процессора (условно якобы самая распространенная длина строки кеша), но вот на ARM H3 тоже методом тыка подбирать? )
cat /sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size
64
В лялексе можешь отсюда брать. Только пройдись по всем CPU там и возьми наименьшее. Память придётся под это дело выделять через alined_alloc, либо при сборке под целевую платформу это макросом хардкодить.
P.S. на современных асимметричных чипах типа Apple M1 или новых интелов с P- и E-ядрами, у разных ядер может быть разный размер кэша. Типа, не факт, но бывает. Я бы с этой хернёй вообще был максимально аккуратен.
Исправление hateyoufeel, :
так я уже сравнивал, написал при каких числах быстрее, допустим 64 особенность процессора (условно якобы самая распространенная длина строки кеша), но вот на ARM H3 тоже методом тыка подбирать? )
cat /sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size
64
В лялексе можешь отсюда брать. Но память придётся под это дело выделять через alined_alloc, либо при сборке под целевую платформу это макросом хардкодить.
P.S. на современных асимметричных чипах типа Apple M1 или новых интелов с P- и E-ядрами, у разных ядер может быть разный размер кэша. Типа, не факт, но бывает. Я бы с этой хернёй вообще был максимально аккуратен.
Исходная версия hateyoufeel, :
так я уже сравнивал, написал при каких числах быстрее, допустим 64 особенность процессора (условно якобы самая распространенная длина строки кеша), но вот на ARM H3 тоже методом тыка подбирать? )
cat /sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size
64
В лялексе можешь отсюда брать. Но память придётся под это дело выделять через alined_alloc, либо при сборке под целевую платформу это макросом хардкодить.