下午好,
我有一些文本文件,其中包含通过分析报纸文章集合收集的(2克,计数)对的列表,当我启动我正在开发的给定应用程序时,我需要将其加载到内存中.要存储这些对,我使用的结构类似于以下结构:
private static Dictionary<String, Int64>[] ListaDigramas = new Dictionary<String, Int64>[27];
Run Code Online (Sandbox Code Playgroud)
拥有一系列字典的意思是效率问题,因为我在某处读到长字典会对性能产生负面影响.也就是说,每2克进入字典,对应于它的第一个字符的ASCII码减97(如果第一个字符不是'a'到'z'范围内的字符,则为26).
当我将(2-gram,count)对加载到内存中时,应用程序需要总共800Mb的RAM,并保持这样,直到我使用一个名为Memory Cleaner的程序来释放内存.在此之后,程序占用的内存下降到7Mb-100Mb的范围,而不会失去功能(我认为).
有没有办法可以通过这种方式释放内存但不使用外部应用程序?我尝试使用GC.Collect()但在这种情况下不起作用.
非常感谢你.
| 归档时间: |
|
| 查看次数: |
1600 次 |
| 最近记录: |