是否有&QUOT的更新版本;编写更快管理code:知道什么东西花"? [英] Is there an updated version of "Writing Faster Managed Code: Know What Things Cost"?

查看:140
本文介绍了是否有&QUOT的更新版本;编写更快管理code:知道什么东西花"?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在MSDN 编写更快管理code:知道什么东西花为pretty的不错,但它是为在2003年CLR V1写有没有这个地方的更新版本?

The MSDN "Writing Faster Managed Code: Know What Things Cost" is pretty nice, but it was written for CLR v1 in 2003. Is there an updated version of this somewhere?

推荐答案

没有。我从来没有更新过,但我想采取的盐适宜杂粮,一般建议和经验规则,大部分在今天的文章也仍然抱起来。

No. I never updated it, but I think taken with appropriate grains of salt, the general advice and most rules of thumb in the article still hold up well today.

(这就是说,它会很有趣重复实验今天看时代如何原始变了,怎么产生的code发生了变化,以及如何微处理器已经改变了。)

(That said, it would be interesting to repeat the experiment today to see how primitive times have changed, how the generated code has changed, and how microprocessors have changed.)

大多数原语的相对费用不会有太大改变,但有些人会发生了巨大变化。例如,非静态的委托调用平庸的性能显着提高(在.NET 2.0中,如果我没有记错)。我不想认为一个医生今天会去她的方式,以避免委托调用,因为我在2003年报告了它非常昂贵的。

The relative overheads of most primitives won't have changed much, but some will have changed dramatically. For example, the mediocre performance of non-static delegate invoke was dramatically improved (in .NET 2.0, if I recall correctly). I would hate to think that a practitioner today would go out of her way to avoid delegate invoke because I reported it as very expensive in 2003.

由于.NET 1.1,我希望很多编译code序列发生了变化;会有新的JIT编译器的优化(这并不在微基准表现得这么好);这些JIT过和NGEN'd code的不同组合(和NGEN并没有在我的文章探讨);和关键子系统,如垃圾收集器已经连续调整了多年。

Since .NET 1.1, I would expect many compiled code sequences to have changed; there would be new JIT compiler optimizations (which doesn't show up so well in microbenchmarks); different mixes of JIT'd and NGEN'd code (and NGEN was not explored in my article); and key subsystems like the garbage collector have been continually tuned over the years.

我重申我的左右的内存系统的影响的潜在淹没的任意数量的单个管理code基本操作的成本警世忠告 - ,并再次指出,发生了很多变化。例如,大量的CLR性能工作03-04进入更好的工作集的行为(如减少脏民营页)NGEN'd系统组件。

I reiterate my cautionary advice about the potential of memory system effects to drown out the costs of any number of individual managed code primitive operations -- and again note that a lot has changed. For example, a great deal of CLR performance work in 03-04 went into better working set behavior (such as minimizing dirty private pages) of NGEN'd system assemblies.

当然,文章的主题是迫切需要深思熟虑,并警惕地衡量你的code的性能,这个主题是永恒的。

Of course the theme of the article is the imperative to thoughtfully and vigilantly measure the performance of your code, and that theme is timeless.

顺便说一句,我一直想做的后续文章上的前几名百元左右最常用的.NET基础类库方法预期的/典型的时间和空间成本,并展示作为引以为戒几个恐怖故事,我们发现工作的.NET性能。这导致了一些有关如何来描述的,在野外实际使用的实际从业者一个类库/框架的实证表现很有趣的想法...

By the way, I always wanted to do a follow up article on the expected/typical time and space costs of the top few hundred or so most used .NET BCL methods, and to showcase as cautionary tales a few of the horror stories we found working on the .NET performance. That led to some very interesting thinking about how to characterize the empirical performance of a class library / framework as actually used by real practitioners in the wild...

感谢您阅读它当时,感谢您的持续关注。

Thanks for reading it back then, and thank you for your ongoing interest.

P.S。我看到万斯莫里森后来写了一大两部分MSDN一系列关于这个问题 - 如果你喜欢我的文章,你一定会喜欢这些:

p.s. I see Vance Morrison subsequently wrote a great two part MSDN series on this subject -- if you enjoyed my article you'll love these:

<一个href="http://msdn.microsoft.com/en-us/magazine/cc500596.aspx">http://msdn.microsoft.com/en-us/magazine/cc500596.aspx

<一个href="http://msdn.microsoft.com/en-us/magazine/cc507639.aspx">http://msdn.microsoft.com/en-us/magazine/cc507639.aspx

这篇关于是否有&QUOT的更新版本;编写更快管理code:知道什么东西花&QUOT;?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆