【问题标题】:What determines cache speed?什么决定了缓存速度?
【发布时间】:2023-04-05 20:19:01
【问题描述】:

我有一个从文件读取并对其执行操作的程序(计算单词的频率)....我有 4 种不同的文件大小,除了最大的文件之外,我都获得了缓存速度。为什么无论我运行多少次,最大的文件都只能以磁盘速度运行?过多的内存使用会限制缓存的运行吗?大文件为 27 GB。在窗户上运行。这是文件缓存,不是 CPU 缓存

【问题讨论】:

  • 这些文件有多大?你怎么知道你是以“磁盘速度”还是“缓存速度”运行的?你如何阅读文件?
  • 这将取决于您使用的操作系统?
  • 27 GB,在 Windows 上运行。我有一个计数器可以测量读取文件的速度。显然缓存速度比磁盘速度快很多。
  • 这并不是对短语缓存的正确使用。大多数人,当你问这样的问题时,会认为你的意思是 CPU 缓存,它的大小以 KB 为单位测量到 MB 的下限。您实际上指的是在内存中安装文件。您可能会在内存中遇到很多页面错误,因为文件无法完全存储在内存中。如果您谈论的不是 CPU 缓存,请指定。

标签: file caching disk


【解决方案1】:

缓存 == 内存。内存用完了,缓存就用完了。如果您有一个大于缓存大小的文件,并且您正在通过它进行流式传输,那么就好像您根本没有缓存一样。缓存只在你再次读取数据时有帮助,对第一次没有影响。

当文件大于内存时,当你尝试重新使用它时,内存中永远不会有任何原始文件,因此缓存在这种情况下几乎没有价值。另一个阴暗面是,当您这样做时,您很可能会丢失系统经常访问且不再缓存的所有其他小文件的缓存。因此,重新加载并恢复速度可能需要更长的时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-14
    • 2019-12-24
    • 2013-09-09
    • 2012-04-04
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    相关资源
    最近更新 更多