【发布时间】:2011-04-07 13:01:55
【问题描述】:
背景:
我被 LARGE 对象图所困扰,它被序列化为大约 60MB 的文件(并且会随着时间的推移而增长)。问题不在于文件大小,而在于写入和读取时间,在某些机器上长达 4 分钟。
剧情:
由于这代表某种内存数据库,我可以延迟加载其中的一些。
刺激:
如何测量特定对象块的加载时间?我是否记录构造函数调用并从那里开始?有更好的主意吗?
编辑:
我宁愿不谈论序列化的替代方案,有很多关于该主题的帖子,我宁愿调查为什么它这么慢以及对象图的哪一部分是“切除”和延迟加载的良好候选者。
【问题讨论】:
-
我只是很感兴趣,你的对象图代表什么?还有什么比相当平坦的数据列表/表格更令人兴奋的吗?
-
你序列化是为了做什么?保存到磁盘?
-
它是内存数据库。表、对象等...
-
我的图表中有一个严重的错误......解决了它,数据文件从 60mb 降到了 3mb,现在每个人都很开心 :)
标签: .net performance serialization binaryformatter