Индекс форумов |
Исходное сообщение |
---|
"Компания AMD подтвердила потенциальную подверженность CPU AM..." Отправлено Аноним, 04-Апр-21 11:31 |
Предсказание ветвления по определению подразумевает, что оно работает на runtime-данных. То, чего GCC никогда не наанализирует. Скажем, если у тебя одна переменная установлена в рантайме в True (например, опция) - и в цикле if по ней всегда идёт по этой ветке. В рантайме предсказатель ветвлений увидит, что бранч тут всегда идёт по одной ветке и будет это предсказывать, давая буст для каждой следующей итерации. А GCC такое никогда не соптимизирует, потому что опция по определению может быть как True, так и False. И компилятор _никогда_ не сможет доказать, что ты в рантайме программы жмякнешь (или не жмякнешь) какой-нибудь checkbox в программе и этот кейс нужно соптимизировать. Более того - если ты захочешь отключить эту опцию - предсказатель ветвлений перестроится, и начнёт предсказывать уже ветку else. Как ты такое будешь на этапе компиляции оптимизировать, гений?))) |
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования. |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |