The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Обновление операционной системы MenuetOS 1.50, написанной на..."
Отправлено n00by, 02-Мрт-24 21:47 
>> Я верно понимаю, отвечает тот же эксперт, что писал в #29 вот это:
> Нет.

Жаль, эксперимент провалился. #29, #42 и #90 писал точно один, эксплуатируя нумератор Анонимов сайта.

Впрочем, 90 написано позже 81, значит ответить он не смог.

>> Действительно, понять, что делает патч можно по выдаче perf stat и без знания ассемблера.
>> Ответа, что примечательно, нет.
> Патч добавляет несколько строк и исходнику - с такой формулировкой поспорить сложно.
> Зачем он это делает и как интерпретировать изменение в счетчиках - тут
> уже могут быть разночтения.
> Очевидно что добавление инструкции перехода, который никогда не выполняется, увеличивает
> % верных предсказаний.

То есть патч увеличивает % верных предсказаний. Это очевидно из чисел в выдаче perf рядом с %. Это мог бы любой ответить, а значит и тот эксперт тем более.

С инструкцией как раз не очевидно и требует знаний, например сходу я не нашёл в Optimization Manual подходящего правила.

> Это увеличение branch-hit приводит к тому, что предсказатель считает контекст истории переходов
> связанный с этим фрагментов ценным и сохраняет его дольше, а также
> пытается реже выкидывать из uos-cache целевые адреса косвенного перехода.
> Соответственно, могут быть условия (особенно на синтетических тестах), когда такая "оптимизация"
> в целом работает в плюс.
> Но на другой модели ЦПУ и/или на другом коде/данных, как правило все
> подобные плюсы становятся отрицательным.

+;    Переход никогда не происходит. Предотвращает предсказания следующего
+;    косвенного перехода, во многих случаях некорректные.

> --
> На всякий уточню - меня расстраивает, что за подобное "штопанье чужих носков"
> мне не только платят деньги, но и настойчиво хотят сделать это
> "еще более", вместо того чтобы хотя-бы теже деньги вложить в разработку
> чего-то собственного (но не в полировку даренных стеклянных бус в виде
> RISC-V).

На всякий случай извинюсь, мне надо было обуздать именно того знатока правильно писать на ассемблере.

В данном случае пришлось штопать свои носки, когда оптимизированный код на асме без той инструкции позорно проиграл коду после транслятора Си, где конкретно в этом месте была ещё одна лишняя косвенность. То есть процессор заточили под типовой код (таблицу переходов), он спокойно лишний раз читал память, что мешало ему делать лишние предсказания, на чём и обыграл человека.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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