我为链表结构分配了一个大缓冲区,所以节点在连续的内存块中。 当我试图重复的链接列表,两种方式会导致不同的性能如下:为什么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