yuriy_dd: ↑
23.04.2026 21:17
orange_deer: ↑
23.04.2026 20:31попросив допомоги у блогу професора з Computer Science, ось дивіться:
If you need to retrieve a block of data, the processor does not retrieve just the necessary bytes. It retrieves data in units of a “cache line” which is typically 64 bytes on Intel processors
але ж ми про читання з памяті, яке робить контролер. І стаття з 2018 ще до виходу М1 - може ви колись усвідомите яке лайно ви знаходите і на основі чого щось собі вигадуєте?
на цьому моменті моя витримка закінчується, вибачте.
повністю підтримую користувача
waryag ви клоун, який корчить з себе ученого. лайно, яке я знаходжу має більше credibility ніж абсолютно все, що ви казали:
1) девелопер що критикував strong scaling y geekbench 6 (чому він поганий для тестування мультипотоку) -
https://dev.to/dkechag;
https://www.linkedin.com/in/kechagias/;
https://github.com/dkechag.
2) професор CS в University of Quebec Daniel Lemire (стаття про те що завжди процесор читає лініями кешу а не байтами і 4 будуть так само швидко як 16, і 64) -
https://lemire.me/en/;
https://github.com/lemire;
https://scholar.google.ca/citations?user=q1ja-G8AAAAJ
p.s. у нього PhD в інженерній математиці було вже тоді коли ви тільки починали займатись комерційним програмуванням - якщо він каже що префетчер читає 64 байти (лінію кешу) а не по 1 байту як кажете ви, то я повірю йому.
будь ласка, про лінію кешу у М процесорах:
1)
Regarding cache-line size, sysctl on macOS reports a value of 128 B, while getconf and the CTR_EL0 register on Asahi Linux returns 64 B, which is also supported by our measurements.
перекладу: софт макос показує 128 байтів у лінії кешу, реальний hardware - 64 байти.
src:
https://www.sciencedirect.com/science/a ... via%3Dihub
2)
Modern ARM processors utilize cache prefetchers to learn data access patterns and bring data into the cache beforehand. To accurately measure the cache performance of a device, we must develop
cache access patterns to defeat the most common prefetching algorithms, next line and stride prefetching. The next line prefetcher exploits spatial locality, fetching the next cache line of memory into the cache on every access. The stride prefetcher actively learns a pattern in data access and fetches the data based on the pattern.
ті самі префетчери що і х86, арм практично не відрізняється у тому як вона читає дані з RAM у кеш процесора
src:
https://dl.acm.org/doi/abs/10.1145/3485832.3485902
p.s. можете ще подивитись на Fig. 3 і побачити що рідний супер оптимізований сафарі повільніший за інші браузери
- спойлер
- пошукайте може ще там описується чи браузер може обійти фіксований формат читання даних з RAM у кеш по лініях кешу, а не по байтах
3)
https://lemire.me/blog/2023/12/12/measu ... pirically/ - знову показує що дані читаються по лініях кешу а не по байтах, по емпіричних тестах 128 байтова лінія кешу
ви навіть статті на рівні geeksforgeeks на підтвердження своїх закидів знайти не можете. зате змогли довести: а) свій фанатизм; б) свою вперту дурість, де ви впевнені що ваш досвід дає вам усі потрібні знання і ви відмовляєтесь визнавати що десь помиляєтесь/брешете/чи маніпулюєте
за багатопотік все що змогли це спекулювати що Apple просто збільшить кількість ядер, а потім показали що арм перемагає у а) софті оптимізованому під апаратні прискорювачі яблука; б) гікбенчі який провалює strong scaling test
за к-сть каналів пам'яті ви хибно приписали це у недосяжні для х86 переваги архітектури, коли насправді це не більше ніж економічне рішення
на цьому моменті для мене дискусія з вами втратила сенс - "ваш рівень фанатизму заважає вам критично мислити"
хочете продовжити розмову? посилайтесь у відповіді на джерела рівня: а) наукові статті; б) блоги програмістів/науковців у яких є хоча б MS in Computer Science або PhD в будь-якій математичній/інженерній спеціальності. або замість цього лінкедін/CV що підтверджує 10+ років робочого досвіду, або ж гітхаб з 300+ комітів на рік