我碰到了一些舊的源代碼最近,我注意到這樣一個模式:正在使用一個int,然後增加它比同時執行兩個更慢?
T item = array[index];
index++;
它會以更快的速度將它表示爲
T item = array[index++];
?直到最近我還以爲不會有什麼區別,因爲我認爲它是index = index + 1
的簡寫,所以無論哪種方式,您都會忽略index
兩次。但this post讓我覺得不然;相反,您只能獲得index
的值一次。
這會在性能上產生任何差異(無論小小)還是現代JIT優化了這一點?
您想知道哪種語言?爲什麼標記Java和C#? – hagrawal
@hagrawal因爲JVM和CLR都是JIT,而且就我的理解而言,它們的功能是類似的(另外,增加一個'int'大多是與語言無關的)。 –
你的2個代碼片段是在哪種循環 - 爲,而?? – hagrawal