Есть ли разница в производительности между i++ и ++i в C?

От Efficiency versus intent Эндрю Кенига:

Во-первых, далеко slow не очевидно, что ++i более эффективна, чем speed i++, по крайней мере, когда 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

2022-11-15T11:45:59+00:00