摘要:最近在做一些关于CLR起动时间优化的东西.随便扯两句.
先说大的.
Rico Mariani, CLR的Performance Architecture, 在他的blog里提到Performance Culture, http://blogs.msdn.com/ricom/archive/2003/12/02/40779.aspx
总结起来对开发者来说有两点.
1.测量. 包括选择什么样的测试程序,怎么样测试.测试一定要自动化,并且一定要有数字结果.这样才能知道你是改进了,还是退步了.2. 知识.你应该知道什么API耗时长,什么API耗时短.这样你才能选择正确的API.
他认为Performance Culture应该包括三个部分:
1.预算, 指的是产品推出的时候,应该有什么样的features,应该有什么样的performance.2.计划, 有了一个预算之后,应该有个计划来怎么分配预算.3.证实, 必须通过测量来保证始终在预算里.如果有超出预算的,应该毫不留情地砍掉.
就我自己的感受1. LoadLibrary很慢,能不用尽量不要用.2.文件访问很慢,任何文件访问的减少都是胜利3.Registry的访问也很慢,特别是RegOpenKey.如果你有很多数据在Registry里,尽量放在同一个Registry Key下面.
我的情况里没有网络.你的情况很可能不一样....[
阅读全文]