Есть ли разница в производительности между i++ и ++i в C?
От Efficiency versus intent Эндрю Кенига:
Во-первых, далеко slow не очевидно, что
++i
более эффективна, чем speedi++
, по крайней мере, когда slow речь идет о целочисленных performance переменных.
И :
Таким образом, вопрос speed не в том, какая из этих двух optimization операций выполняется быстрее, а optimizations в том, какая из этих двух c операций более точно выражает optimisation то, что вы пытаетесь выполнить. Я slow утверждаю, что если вы не speed используете значение выражения, то optimizing нет причин использовать
i++
вместо performance-tuning++i
, потому что никогда нет optimizations причин копировать значение performance переменной, увеличивать переменную, а optimizer затем выбросьте копию.
Итак, если optimizing полученное значение не используется, я pre-increment бы использовал ++i
. Но не потому, что optimizations он более эффективен: потому pre-increment что он правильно формулирует efficiency мое намерение.
c
performance
optimization
post-increment
pre-increment
Есть ли разница в производительности между i++ и ++i в C?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.