Re[4]: Вопрос на элегантность решения
От: BulatZiganshin  
Дата: 13.10.14 01:26
Оценка: 8 (1)
Здравствуйте, vsb, Вы писали:

vsb>Как отнесётся современный процессор к такому коду, с его branch predictions, я не совсем понимаю и было бы интересно услышать. Вполне может быть, что поиск второй цифры делениями на 10 будет быстрей.


деление ещё хуже (10-100 тактов), умножения будут лучше. Edit: на самом деле деление на константу реализуется умнодением на обратное число, так что будет однофигственно. но задержка умножения — 3 такта, что явно не сравнить с поиском по степеням 10 или 100

но лучше использовать твой подход, только с линейным поиском. тогда у нас будет всего один ошибочно предсказанный переход (выход из цикла), и 5-10 удлачно предсказанных, которые обойдутся в 0.5-1 такта на переход

а для того чтобы "совсем понимать" — читай агнера фога: http://www.agner.org/optimize/
Люди, я люблю вас! Будьте бдительны!!!
Отредактировано 13.10.2014 1:38 BulatZiganshin . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.