我拥有下一个实例化大约4000万次的类,其所有实例占用全部进程内存(大于15GB)的80%。.NET。最大限度地减少内存使用/优化类设计
class MyClass
{
String Field1
String Field2
String Field3
int Field4
int Field5
float Field6
SomeEnum Field7
Boolean Field8
Boolean Field9
Boolean Field10
Byte Field11
Byte Field12
}
我想以某种方式来优化这个类,但不知道我能在这种情况下做什么。我想将布尔型字段组合成单个字节或自定义字段对齐,但不确定它是否更糟,以及它是否不会破坏某些内容。还试图将其改为结构,但在现有代码中出现性能问题而没有显着改进。
那么,在没有严重的性能下降的情况下,如何减少内存使用量呢?
此代码将主要在x64服务器上运行,x32仅在开发中运行。
编辑:
这是服务,咋办很快返回取决于所有这些数据的结果。这里的速度非常快,约为20ms-150ms。所以所有的数据都被哈希和排序,并且该类中的每个字段几乎用于对服务的每个请求。可能这里的设计不好,但设计在这里不是问题,我现在无法从头开始重新设计它。
你真的需要在内存上放置4000万个物品吗?为什么不保留数据库并使用sql来处理它们? – Giorgi 2010-07-19 14:31:03
它已经在数据库之后:) – Kamarey 2010-07-19 14:33:27
你在用数据库中无法做到的4000万条记录做什么? – 2010-07-19 14:35:23