Re[13]: Откуда эта лютая любовь к знаковым целым?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 10.05.20 05:19
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

N>>z/Arch:

N>>MIPS:

EP>О, интересно, не знал что где-то есть.


Но это паршивенькие реализации. Проблема в том, что в них, как и в x86, обработка исключений не вышла из каменного века и требует обязательного перехода в режим супервизора.
Из более-менее заметных архитектур только в RISC-V озаботились вопросом "как исключения, которые не нужно гонять на высокие уровни, обрабатывать без переключения", но это только последние лет 5 и пока нету доступных реализаций в железе. Но RISC-V принципиально не генерирует исключения на целочисленную арифметику, даже на деление на 0.

N>>Но в нормальных современных процессорах, даже если есть проверки на happy path, за счёт предсказания ветвлений оно в подавляющем большинстве случаев пролетает их сходу, не притормаживая.


EP>Ну это совсем не бесплатно — арифметика используется повсеместно, в таком варианте её предсказания займут приличный кусок таблицы предсказателя, тормозя всё остальное приложение. На небольших по размеру горячих циклах проблемы нет, но на развесистых итерациях будет проседание.


Подозреваю, что ты сильно преувеличиваешь проблемность этого вопроса. Если уж в AArch64, где собрали всю статистику прошлого опыта и в результате по сравнению с 32-биткой убрали условное выполнение команд их признаком — в пользу явных переходов, то затраты на эту предсказания совсем ничтожные.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.