【问题标题】:Does memory mapped file increase performance in multiple app instances?内存映射文件是否会提高多个应用实例的性能?
【发布时间】:2020-03-28 20:50:33
【问题描述】:

我有 3 个正在运行的 Windows .net 应用程序实例访问相同的数据。每个 exe 分别加载相同的 60MB 数据文件。这是 CPU 密集型计算工作,其中 CPU 以 100% 的速度一遍又一遍地访问相同的内存,12 个内核上有 24 个线程。我在想,如果我对文件进行内存映射,则 3 个 exe 实例将共享相同的内存,并且它将落入 L3 缓存。那是对的吗?我会看到性能提升吗?

【问题讨论】:

    标签: windows multithreading memory cpu


    【解决方案1】:

    了解答案的唯一方法是使用基准测试。变量太多,实际上无法回答您的问题。

    Windows 的版本。 Windows 8 引入了许多changes in its memory manager],请参阅内存组合

    通常由 CPU 根据访问 RAM 中的数据来确定 L3 缓存中的内容。然后也是CPU缓存会不会是invalidated during context-switches or not

    通常,当线程处理相同的数据集时,缓存会发挥作用并显着提高性能(请参阅此问题的answer)。好吧,只需进行试验,看看哪种方法更适合您。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2023-02-07
      • 2011-01-20
      • 1970-01-01
      • 2019-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多