Коды ошибок — это гораздо медленнее, чем исключения
Предсказатель переходов увеличивает производительность. Производители процессоров поняли это и столкнулись с тем, какое поведение выбрать при статическом предсказании. Каждый выбрал своё. Затем новые процессорные архитектуры стали требовать определенное поведение. И теперь целые числа кодируют лишь дополнительным кодом, теперь лишь 'backward branches are taken'.
0
ПосмотретьКоды ошибок — это гораздо медленнее, чем исключения
Если предсказатель переходов встретит ветку впервые, то он использует статическое предсказание: backward branches are taken. Другими словами, предсказатель переходов недолюбливает условный переход вперед на старшие адреса, в итоге это медленно. Компилятор знает это и организует циклы таким образом, чтобы тело цикла было likely быстрым, а выход из цикла — unlikely медленным.
+1
ПосмотретьИнформация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность