Web Analytics
yangyang

码农兼一个普普通通小青年

All Posts in 2013.3


减少.NET应用程序内存占用的一则实践

最近一周比较忙,主要的工作内容是在做一个叫“键盘精灵”的东西,简单来讲就是将很多数据放到内存中,对这些数据进行快速检索,然后找出根据输入条件最匹配的10条记录并予以展示。具体和下面两款炒股软件的相关功能类似: 数据以文本形式存在文件中,且数据量较大,有近20万条,每一条记录有几个字段,以分隔符分割。当时使用的是6万条记录的测试数据,文本文件将近10M,这个模块加载到内存并建立缓存之后,大概会占用将近70-80M的内存。自我接手以后,主要的任务就是降低内存消耗和提高匹配效率。 一、避免创建不必要的对象 拿到代码后,第一步就是看设计文档,然后断点一步一步的看代码,大概明白了逻辑之后,发现思路有一些问题。之前的代码处理流程思路大概是下面这样的: 将文件读取到内存,实例化 根据条件对文件进行检索,并存储到结果集1中 对结果集 …

.NET C# Performance Optimizing