Какая операция в C++ быстрее? - Вопросы по С+

Вопрос Какая операция в C++ быстрее?

Регистрация
15 Дек 2013
Сообщения
78
Репутация
0
Спасибо
0
Монет
0
Какая из двух операций выполнится быстрее:



++i;

i += 1;



Почему?
 
Регистрация
30 Дек 2013
Сообщения
90
Репутация
0
Спасибо
0
Монет
0
Вообще говоря, зависит от компилятора и режима его работы, но в любом случае ++i предпочтительнее. А вот с i++ может быть по-разному :)
 
Регистрация
1 Окт 2013
Сообщения
82
Репутация
-3
Спасибо
1
Монет
0
Современные компиляторы очень умные. Скорее всего, результат компиляции будет одинаковый.
Для глупого компилятора первый вариант лучше, поскольку есть машинная команда "увеличить на единицу". Однако, для современно процессора может и нет разницы между операциями inc и add. Первая лучше тем, что короче записывается.
 
Регистрация
2 Ноя 2013
Сообщения
94
Репутация
0
Спасибо
0
Монет
0
Разницы особо не будет. Ощутима будет немного если это будет использоваться в ряде циклов или структур данных и то при обращение системой к этому. В остальном скорость компиляции и обработки программы от этого не сильно поменяется а где то будет и вовсе одинаковой.
Сейчас на прямую машинным языком мало смысла писать. Компиляторы давно уже умеют более менее сносно оптимизировать код. А для сложных задач можно и самостоятельно пересобрать как тебе выгоднее.
 
Регистрация
1 Май 2013
Сообщения
86
Репутация
0
Спасибо
0
Монет
0
как говорил сам страуструп операция инкремента заменяется соответствующей операцией инкремента регистра если он содержит эту переменную или инкремент содержимого ячейки памяти нежели будет использована операция сложения
 
Сверху Снизу