. net应用程序.照看比特和字节
本文关键字:字节 应用程序 net | 更新日期: 2023-09-27 17:49:53
我很快就会开发一个Win Forms应用程序,将在交易员的机器上运行,主要关注的是让应用程序使用尽可能少的内存。每一行代码都需要牢记这一点。
我需要考虑哪些方面?
当然,你会说做任何复杂的处理,例如数据库,而不是客户端,但还有什么?
我正在寻找这样的建议,不要使用int64而不是int32,如果你不打算经常搜索集合,使用数据结构x而不是字典,更频繁地调用垃圾收集器,不要在客户端缓存数据等…我只是在胡编乱造希望你能明白我的意思
欢呼
除非您使用大量数据,否则您不会看到int64和int32之间的巨大差异。1000个int32和1000个int64只有大约4K的差别。整数值的标准通常是映射到int32
的int
,所以我建议使用它,除非你有特定的16或64需求。
编写规范的人理解内存绑定应用程序的真正含义吗?你宁愿有一个应用程序,每次需要10秒从数据库检索可缓存的数据。或者你宁愿让应用程序预缓存数据并"浪费"2 MB内存?我支持后者,我想大多数用户也是。
但是你有一个规范要遵循,所以我不说教了。看看这篇MSDN杂志上关于。net优化的文章。我想你会在里面找到一些很好的建议。
使用CLR内存分析器查看内存的使用情况。
在语义上可以接受的情况下,使用结构体而不是类来处理大量的内容。如果你有结构体数组,请注意对齐这个词和相关的开销。net可能会对内存做一些你意想不到的事情,所以在严重依赖它们之前测试一下你的假设。