我有一个程序,可以从文件中读取并对其执行操作(计算单词的频率)....我有 4 种不同的文件大小,除了最大的文件大小外,我都获得了缓存速度。 为什么无论我运行多少次,最大的文件都只以磁盘速度运行? 过多的 ram 使用是否会限制缓存运行?大文件为 27 GB。 在窗口上运行。 这是文件缓存,而不是 CPU 缓存
缓存 == 内存。内存不足,缓存不足。如果你有一个大于缓存大小的文件,并且你正在通过它进行流式传输,就好像你几乎没有缓存一样。缓存仅在您再次读取数据时才有帮助,它对第一次没有影响。
当文件大于内存时,当您尝试重用它时,内存中永远不会有任何原始文件,因此在这种情况下缓存几乎没有价值。另一个缺点是,当您这样做时,您可能会丢失系统经常访问且不再缓存的所有其他小文件的缓存。因此,重新加载并恢复速度可能需要更长的时间。