The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Разработчики ядра Linux обсуждают вопрос удаления субархитек..., opennews (?), 12-Дек-18, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


230. "Разработчики ядра Linux обсуждают вопрос удаления субархитек..."  –1 +/
Сообщение от Аноним (230), 13-Дек-18, 13:48 
Спорно. Кэш, как и память, адресуется блоками, размер которых "зашит" в процессор. У многих современных процессоров размер блока совпадает с размером регистра, т.е. 8 байт. Экономия возникает лишь в ОП и заметна лишь в структурах данных, почти целиком состоящих из указателей.

Именно эти аргументы приводили противники этой "технологии" когда её тащили в ядро. С тех пор ничего не изменилось, только аргументы дошли наконец-таки и до всех остальных. Даже Шигорин, который раньше топил за прогресс приутих и потёр свой бред прошлых лет. Не хочет щенок чтобы его в собственные какашки носом тыкали.

Ответить | Правка | Наверх | Cообщить модератору

281. "Разработчики ядра Linux обсуждают вопрос удаления субархитек..."  +/
Сообщение от КО (?), 13-Дек-18, 16:58 
>Спорно. Кэш, как и память, адресуется блоками, размер которых "зашит" в процессор

Так в том то и дело. Кешлайн 64 байта. Это либо N команд, либо N/2 (ну хорошо x86 не Risc, побольше).
Правда к x32 это отношение не имеет - там команды длиннее. :)

Ответить | Правка | Наверх | Cообщить модератору

520. "Разработчики ядра Linux обсуждают вопрос удаления субархитек..."  +/
Сообщение от Аноним (520), 17-Дек-18, 02:46 
Во-первых, кеш адресуется блоками по 64 байта, а не по 8 байт.

Во-вторых, экономия будет также почти в ЛЮБЫХ структурах, в которых есть хоть один указатель, т.к. многие компиляторы обычно выравнивают каждый элемент структуры по адресам, кратным размеру самого большого элемента простейшего типа, если только Вы не кодируете на ассемблере. Иными словами, если в структуре есть указатель размером 8 байт (void*), то остальные члены структуры также будут занимать по 8 байт, даже если они размером 4 (int32_t) или 2 байта (int16_t).

Ответить | Правка | К родителю #230 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру