История изменений
Исправление
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, либо при сборке под целевую платформу это макросом хардкодить.