|
|
1
3
下面是山姆博客中有关缓存政策的内容。 http://blogs.msdn.com/samng/archive/2008/10/29/dynamic-in-c.aspx
但是,Sam没有提到的是什么是缓存未命中策略。有两个主要的缓存未命中策略:(1)在参数类型更改时触发缓存未命中;(2)在参数标识更改时触发缓存未命中。 显然,前者的性能要高得多;仅仅根据类型来计算何时可以进行缓存是很困难的。对所有这些逻辑如何工作的详细解释将花费相当长的时间;希望有一天我或克里斯或萨姆会在上面写一篇博文。 |
|
|
2
1
您可以将dynamic视为使用reflection和methodinfo.invoke()编写所有方法调用的语法甜品-在这种情况下,它的工作方式并不完全相同,但您可以将其视为工作方式,同时考虑到所有与之相关的“通过dynamic=>谋杀性能调用1000个方法/秒”考虑因素。 |
|
3
1
至于
词典
/
列表
关心的是,它能看到
证明:
|
|
|
4
1
好吧,我启动了Visual Studio 2010 Beta 2,这个测试程序运行正常,而不是等待答案:
我想确保不仅检查了具有不同名称的属性,而且还检查了具有不同类型的属性,以及在每种类型中使用了彼此不兼容的功能。这个 似乎 建议 如果 任何东西都是缓存的,运行时足够智能,可以知道何时使用缓存,何时不使用。我仍然想知道,如果有人知道一个边缘案件,这可能不成立,或更权威的评论,为什么会这样。 |