为什么第一次运行C程序,运行速度慢10倍

goo*_*ing 1 c

使用排序的我的C程序第一次比其他时间慢了10倍.它使用整数文件进行排序,即使我更改数字,程序仍然运行得更快.当我重新启动PC时,第一次程序运行速度慢了10倍.我time用来计算时间.

Nik*_* C. 14

操作系统将数据保存在RAM中,即使它不再需要(这称为"缓存"),因此当程序再次运行时,它从那里获取所有数据,并且没有磁盘I/O. 即使您更改数据,该更改也会首先在RAM中发生,并且即使在写入文件后也会保留在RAM中.

但是,请注意,它不会永远保留在RAM中.如果其他内容需要内存,则删除缓存.此时,需要磁盘访问(此时它再次缓存在RAM中.)

这就是重启后首次访问总是很慢的原因; 数据尚未缓存,因为它从未从文件中读取过.