dext: ↑
26.12.2025 17:10ну шо, поїхали розмотувати вашу пихату самовпевненість

- data[i..i+3] буде завантажений за 1 (одну), максимум 2(дві) операції тому що сучасні ЦП читають не байтами, а Cache Line (64 байти)
яка ширина контролера памяті? я маю дані що 64 біти
dext: ↑
26.12.2025 17:10 - в DDR5 дані вичитуюся рядками (Burst Length) в 64 байти, це було зроблено для співпадіння з Cache Line
те що контролер читає так багато навіть коли код запитує 1 байт - це не є плюс, а є мінусом. Ви ж напевне знаєте що є багато коду який працює з памятю по байтно
а чому у М4 зробили що є 8 каналів по 16 біт? Чи буде це перевагою якщо код не зачитує відразу великі блоки, а наприклад по байту?
виходимо з того що М4 - сильно переважає по швидкодії сучасні х86 - відповідно
ви надіюсь про мій код з прикладу:
viewtopic.php?p=4061401&hilit=main#p4061401
готові говорити далі? як його поправити щоб він читав по 16 біт?
Відправлено через 1 хвилину 57 секунд:
AntonyKandaurov: ↑
26.12.2025 18:32Юрчику, для процесора в моєму ноутбуці Tj max 105 градусів стоїть а при 110 він терміново шатдауниться, це ж точно інженери амуде такі довбні, не знають що при 110 градусах можна працювати і норм.
макбук ейр М1 - працюють вже з 2020 року, без охолодження, досить довго (десятки хв) можуть тримати максимальне навантаження
те що вони виходять з ладу - не чути
ви хочете придумати проблему? але у вас знову не виходить?
Відправлено через 12 хвилин 58 секунд:
dext: ↑
26.12.2025 17:10аналогічно для інших прикладів, окрім хіба що
Код: Виділити все
size = chunk->prev_size + chunk->size + next->size;
тут може бути 2 MC якщо next та chunk в різних ROW/Cache Line
так це ж самий типовий код роботи з структурами / обєктами, коли у вас є вказівник на обєкт і ви щось оперуєте:
if(new_chunk->prev_size + new_chunk->size > old_chunk->prev_size + old_chunk->size) ..
Відправлено через 1 годину 22 хвилини 57 секунд:
а на відео ви не зауважили ось цей фрагмент - там перевага вже дуже суттєва. Як так? Аж просто шкода стає х86