最高效的内存管理C#

本文关键字:管理 内存 高效 | 更新日期: 2023-09-27 18:21:14

我很快就会为我的学位做一个需要强力文本处理和分析的项目。这显然意味着要对RAM进行大量的读写操作。

C#中最有效的内存管理方法是什么?上学期,我被介绍到内存整理课程,发现这是一种非常有效的方法,可以读取和写入大量数据到RAM,但这可能只是我的经验。我希望有人能给我一些关于C#内存管理的替代方案或最佳实践的建议。

感谢

最高效的内存管理C#

最有效的内存管理系统因您在实践中尝试做的事情而异。

根据经验,尽量避开C#中的非托管代码:托管内存足以解决绝大多数问题,除非你确切地知道该怎么做,否则你不太可能比托管内存更有效率。

所以我的建议如下。尝试一个完全管理的实现,并使用一些好的实践来防止使用过多内存:

  • 总是丢弃你的一次性物品
  • 尝试将重资产相互化,例如字节缓冲区:与其每次需要都创建一个新的缓冲区,不如使用缓冲池

如果你获得了需要手动编组的经验证据,那么就学习并使用它。但之前不行。

请记住,很多人都研究过C#内存管理,大多数C#开发人员不需要更多(以至于他们中的很多人甚至不知道内存管理在幕后是如何工作的,因为他们根本不需要)。C#中的托管内存非常好,请先尝试一下。