为什么这两个代码之间的运行时间差异这么长
Why is the difference in running time so long between these two codes?
对于两个代码l最初是1,除阵列外,所有变量均长,数组是大小n的全局int。n为10^6的顺序。但是代码1超过5秒的时间限制,但代码2以毫秒为单位。唯一的区别是最后一行。A,B,C是小于50的整数变量。
使用的编译器:-g
测试案例: - 3000000 50 50 50 1(N,A,B,C,L)
代码1: -
for(i=1;i<N;i++)
{
j=l;
k=(j*j)%1000000;
k=(a*k)%1000000;
j=(b*j)%1000000;
l=(j+k+c)%1000000;
x=(int)l;
ar[i]=x;
}
代码2: -
for(i=1;i<N;i++)
{
j=l;
k=(j*j)%1000000;
k=(a*k)%1000000;
j=(b*j)%1000000;
l=(j+k+c)%1000000;
x=(int)l;
ar[i]=1;
}
它是编译器的优化。可能仅用
替换第二个代码for(i=1;i<N;i++)
{
ar[i]=1;
}
相关文章:
- KMP算法和LPS表构造的运行时间
- 如何计算Big-O表示法中的平均渐近运行时间
- 用时钟测量程序的运行时间
- 在 c++ 中使用 Tensorflow Lite 在边缘 TPU 上运行"mobilenet_ssd_v2_coco_quant_postprocess_edgetpu.tflite"时出现问题
- 运行 C++ 单元测试时LNK2005链接错误
- 如何减少代码的运行时间以对齐文本?
- 我的 c++ 应用程序中的运行时间从 0 增加到 60 太快了(例如一毫秒或一微秒)
- 尝试运行 wasm 函数时出现模块未定义错误
- 在Visual Studio中运行/调试C ++时,如何在结束时等待输入
- 使用 Qt 测量过程的实际运行时间
- 每次运行此 c++ 程序时如何获得不同的数字?
- 如何执行用 C++ 编写的程序的运行时间?
- 无限运行时间
- 以管理员身份运行应用程序时,有没有办法获取非管理员用户名
- 如何在 qt 中从另一个线程运行 qt并发时关闭程序
- 有没有办法根据命令行参数定义数组大小?运行时与编译时实例化?
- 在运行时间内用户输入任何内容时,如何停止计时器
- 通过计数步骤来测量算法的运行时间时遇到问题
- 使用Boost时,以秒为单位的运行时间
- 在使用ctime和计算函数运行时间时遇到问题