我爲鏈表結構分配了一個大緩衝區,所以節點在連續的內存塊中。 當我試圖重複的鏈接列表,兩種方式會導致不同的性能如下:爲什麼p ++比p = p-> next更快
while(index<ListCount) {
if (first[index++].key == key) { return;}
}
另一種方式是:
while(first) {
if (first->key == key) { return; }
first = first->next;
}
在性能上一個很大的不同,第二種方式是遠遠第一種方式背後,爲什麼會發生這種情況
每個節點包含16個字節的變量,包括下一個指針。
沒有足夠的上下文。你在優化嗎?你在索引什麼結構?等 – ChrisCM
修改了這個問題,這是我使用的真正的循環 – user3126461
爲什麼你的代碼每隔幾秒就會改變一次?你真的測試過什麼版本的性能?我非常肯定你的表現結果已經完成。您測試的代碼不是您發佈的代碼。第一個版本應該快一點,但它不應該有很大的差異。 – AnT