gpt4 book ai didi

c# - 如何加快 FieldInfo.GetValue() 调用的速度?

转载 作者:太空宇宙 更新时间:2023-11-03 13:33:13 31 4
gpt4 key购买 nike

我在自定义序列化程序中大量使用 FieldInfo.GetValue() 调用。这个功能真的很慢。

1) 是否有一种可移植的方式来加速它?我不需要通过 FieldInfo.GetValue() 实现进行任何检查,我只需要快速获取该值。

现在介绍一种不可移植的方式。我使用单声道。我的探查器显示 FieldInfo.GetValue() 大部分时间花在 MonoField.CheckGeneric() 上。并且调用 MonoField.GetValueInternal() 非常快但私密!当然,我可以使用反射直接调用这个私有(private)方法(因为我没有那种通用检查)但是通过反射调用会破坏所有性能提升。

2) 是否可以快速调用这个私有(private)方法(没有反射开销,也没有修改 Mono 源使其公开)?

最佳答案

您可以发出 il 来获取值。因此,在第一次调用任何类型后,您缓存 IL,但是如果您有很多类型,这可能不起作用。

关于c# - 如何加快 FieldInfo.GetValue() 调用的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19712155/

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