gpt4 book ai didi

.net - (为什么).Net 中的反射如此昂贵?

转载 作者:行者123 更新时间:2023-12-03 07:15:48 24 4
gpt4 key购买 nike

Possible Duplicate:
What is the “cost” of reflection?

有谁对普遍接受的口头禅reflection == bad performance有一个很好的解释吗? ?

例如,与直接访问所有属性相比,迭代类型的属性集合并从该类型的实例中提取所有属性值的成本有多高?一个数量级?二?它取决于什么?这是可以预测的吗?幕后发生了什么?

编辑:感谢您迄今为止的回答。我查看了您提供的一些链接,与直接访问相比,关于属性反射的估计似乎存在巨大差距:从慢 2.5 倍到慢 200 倍。

这对我来说似乎不太合理。你们中的一些人提到了 .Net 更高版本中的性能改进,因此让我们将我的问题缩小到 .Net 4.0。有人有任何基准吗?

最佳答案

最好的答案是,普遍接受的口头禅并不像看起来那么简单。 反射==性能不佳很大程度上起源于.NET 1.0和1.1,并没有承认后续版本中的性能改进。

为了客观起见,我多次测试了基于反射的解决方案与基于非反射的解决方案,但获胜者并不总是其中之一。反射就是它的本质,它是如何工作的,它不是一致地更快或更慢,而且它(与基本上所有编程方法一样)不能被视为 Elixir 或始终避免的东西。

关于.net - (为什么).Net 中的反射如此昂贵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3391870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com