gpt4 book ai didi

c# - 在内存中保存大量文本数据的正确策略是什么? System.Runtime.Caching 或自定义类?

转载 作者:行者123 更新时间:2023-11-30 14:37:47 26 4
gpt4 key购买 nike

在重构我的代码开始试验之前,我希望社区的智慧能够在正确的道路上为我提供建议。

问题:我有一个 WPF 程序对数百个 ini 文件进行比较。为了执行差异化,我想在内存中保留数百个其他文件差异化的基本文件。我发现一旦我加载了 10-15 个文件,每个文件大约有 4000 行数据,使用自定义类来存储这些数据就会开始让我的 GUI 停止。

我正在考虑几种提高性能的策略:

  • 不要一次在内存中存储多个文件,而忘记我希望通过将它们保存在内存中来提高解析性能
  • 尝试在 BackgroundWorker 线程中运行所有基本文件数据。我没有在 GUI 线程上处理这些文件,但可能所有存储的数据都以某种方式影响了它。我猜这里
  • 试验 System.Runtime.Caching 类。

提出的问题here on SO在我看来,没有回答什么是这类工作的最佳策略的问题。提前感谢您提供的任何帮助!

最佳答案

假设 100 个字符行的文本 15 * 4000 * 100 只有 6MB,这在现代 PC 上是微不足道的内存量。如果您的 GUI 即将停止,那么对我来说,这表明虚拟内存正在换入和换出到磁盘。这对于只有 6MB 没有意义,所以我会弄清楚它到底占用了多少以及为什么。如果可能是一些微不足道的错误,比重新考虑您的整个策略更容易修复。另一种可能是与内存消耗无关,而是算法问题。

关于c# - 在内存中保存大量文本数据的正确策略是什么? System.Runtime.Caching 或自定义类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8866593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com