为什么用 int 替换长长可以提高性能

Why does replacing long long with int increase performance?

本文关键字:高性能 为什么 int 替换      更新时间:2023-10-16

当对某些变量使用long long时,Codeforce上的某些任务会导致"TLE"(超出时间限制),而将它们更改为int会导致"已接受"。

该问题如何影响代码?编译器如何处理它?为什么使用int时代码更快?

这在很大程度上取决于平台。下面是使用long long可能会减慢代码速度的两个实例:

  1. 如果 CPU 不是 64 位(假设 long long 是 64 位,int是 32 位),则执行加法等操作涉及更多工作。
  2. 如果您正在处理大量数据,则从int更改为long long可能会产生很大的影响,因为数据是其两倍。将数据从磁盘或 RAM 拉取到 CPU 缓存的成本很高,如果数据类型是其两倍,CPU 必须更频繁地请求数据。