当前位置:  开发笔记 > 编程语言 > 正文

是否有更新版本的"编写更快的托管代码:知道什么是成本"?

如何解决《是否有更新版本的"编写更快的托管代码:知道什么是成本"?》经验,为你挑选了1个好方法。

MSDN "编写更快的托管代码:知道什么是成本"是相当不错的,但它是在2003年为CLR v1编写的.这个地方有更新的版本吗?



1> Jan Gray..:

不,我从来没有更新它,但我认为采用适当的盐,一般的建议和文章中的大多数经验法则今天仍然很好.

(也就是说,今天重复实验以了解原始时代如何变化,生成的代码如何变化以及微处理器如何变化将会很有趣.)

大多数原语的相对开销不会有太大变化,但有些开销会发生巨大变化.例如,非静态委托调用的平庸性能得到了显着提高(在.NET 2.0中,如果我没记错的话).我不愿意认为今天的从业者会尽力避免委托调用,因为我在2003年报告它非常昂贵.

从.NET 1.1开始,我希望许多已编译的代码序列都会发生变化; 会有新的JIT编译器优化(在微基准测试中不会很好地显示); JIT'd和NGEN代码的不同组合(我的文章没有探讨NGEN); 多年来,垃圾收集器等关键子系统一直在不断调整.

我重申了关于内存系统效应可能会淹没任何数量的单个托管代码原语操作的成本的警示性建议 - 并再次注意到很多已经改变.例如,03-04中的大量CLR性能工作进入了NGEN系统组件的更好的工作集行为(例如最小化脏私有页面).

当然,本文的主题是必须谨慎和谨慎地衡量代码的性能,并且该主题是永恒的.

顺便说一句,我一直想做一篇关于前几百个最常用的.NET BCL方法的预期/典型时间和空间成本的后续文章,并展示我们发现的一些恐怖故事的警示故事致力于.NET性能.这导致了一些非常有趣的想法,关于如何描述真实从业者在野外实际使用的类库/框架的实证表现......

感谢您阅读它,感谢您持续的兴趣.

ps我看到Vance Morrison随后写了一篇关于这个主题的伟大的两部分MSDN系列 - 如果你喜欢我的文章,你会喜欢这些:

http://msdn.microsoft.com/en-us/magazine/cc500596.aspx

http://msdn.microsoft.com/en-us/magazine/cc507639.aspx

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有