Mat*_*lls 12 .net c# performance
如果.dll中包含.pdb(程序调试)文件,则会在抛出的任何异常的堆栈跟踪中显示行号.这会影响应用程序的性能吗?
这个问题不是关于发布与调试,即优化.这是关于拥有.pdb文件的性能影响.每次抛出异常时都会读取.pdb文件吗?加载程序集时,信息是否以某种方式缓存?或者它是在第一次抛出相关异常时缓存的?它有多大区别?
adr*_*nks 14
John Robbins在他的文章"PDB文件是否会影响性能?"中写到这一点?.简单的答案是否定的(如果使用/ optimize +和/ debug开关编译发布版本):
在其他操作系统上可能也是如此,但Windows不是这样.如果您认为他们这样做了,那么为什么Microsoft会为调试和发布版本打开PDB文件来构建他们附带的每个产品?他们编写了编译器,编写了链接器,然后编写了操作系统,以便确切了解效果.与世界上任何其他软件公司相比,微软有更多人专注于性能.如果有任何性能影响,他们就不会这样做.期.性能不是微软的唯一功能,它就是一切.
另外:
当构建/ optimize +和/ debug开关时,DebuggingMode.IgnoreSequencePoints被传递给DebuggableAttribute以告诉JIT编译器它不需要加载PDB文件以便正确地JIT IL.
他还有另一篇题为PDB文件的文章:每个开发人员必须知道的内容也是一本很好的读物.
归档时间: |
|
查看次数: |
2980 次 |
最近记录: |