这是一个C ++代码,看起来很奇特。出于一些奇怪的原因,对数据进行排序后使得代码神奇地快了近6倍。 没有std::sort(data, data + arraySize);,代码运行在11.54秒。 使用排序后的数据,代码在1.93秒内运行。 起初,我认为这可能只是一种语言或编译器异常。所以我尝试了Java。 有点类似但不太极端的结果。 我的第一个想法是,排序将数据带入缓存,但后来我觉得是多么愚蠢的,因为该数组刚刚生成。 到底是怎么回事? 为什么处理排序后的数组比未排序的数组更快? 代码正在总结 […]