我将很快为我的学位做一个项目,需要强力文本处理和分析。这显然意味着大量读写RAM。
C#中最有效的内存管理方法是什么?上个学期我被介绍到memory marshal class并发现这是一种非常有效的方法来读取和写入大量数据到RAM,但也许这只是我的经验。我希望有人能就C#内存管理的替代方案或最佳实践给我一些建议或建议。
由于
答案 0 :(得分:4)
最有效的内存管理系统与您在实践中尝试的内容大相径庭。
根据经验,尽量避免使用C#中的非托管代码:托管内存对于绝大多数问题来说已经绰绰有余了,除非你确切知道该做什么,否则你不太可能更多效率高于托管内存。
所以我的建议如下。尝试一个完全托管的实现,有一些好的做法可以防止使用太多的内存:
如果您获得经验证据表明您需要进行手动编组,那么请了解并使用它。但不是之前。
请记住,很多人都在从事C#内存管理工作,并且大多数C#开发人员都不需要更多(他们中的很多人甚至不知道内存管理是如何工作的。场景,因为他们根本不需要)。 C#中的托管内存非常好,先给它一个镜头。