我正在使用 gcc 4.6.3 并创建大量随机短裤。我使用以下语句生成它们:
val = SHRT_MAX; //as defined by limits.h
while(array<end) {
*array++ = rand() % val;
}
这是一个相当快的操作,即使对于多达 5,000,000 个元素的数组也几乎可以立即完成。我对数字变化较小的排序效率感到好奇,并将其更改为:
val = 3;
这导致了相当大的速度差异,它的运行速度比原始语句慢得多。是什么导致了如此大的速度差异?