1
7
编辑:Eric对此有更多评论
here
并暗示
是
有时
在原始编译器(1.1之前版本)中,编译器
做
处理非虚拟实例方法(无
没有
引发异常
请注意,“不要抛出异常”也是
完全地
行为如果
我认为在某一点上你可以发射IL来调用 有规律的 实例方法通过静态调用,但上次我尝试时得到了“哦,不,你不知道!”来自clr的消息(此操作可能会破坏运行时的稳定性);或者它们完全阻止了这一点,或者(也许更可能)我借用了自定义IL。 |
2
5
是的,静态调用会更快-在调用方法之前不需要创建对象的实例。(尽管你显然不会注意到区别) 实际上,如果编译器优化了一个方法(使实例方法成为静态的),这并不重要——除非已经创建了实例,否则不会调用实例方法,对吧? 最后,您应该尝试优化代码的可维护性,而不是在这里或那里节省3纳秒。 |
3
3
|
4
1
我怀疑编译器会把它当作一个静态方法,尽管您可以自己检查。好处是不会创建实例。不用担心垃圾收集器。如果有静态构造函数,则只调用静态构造函数。 |
5
0
静态方法很快,因为构造实例 购买如果您只创建一个实例并保存静态成员,那么性能是相等的 它们的总性能很小 所以… |
6
0
是的,静态方法很快,但是静态变量获取的内存不受GC控制,即使不需要,也不会被释放,所以这是一个问题。 但最重要的是,你应该考虑所有的设计,因为记忆和速度已经增加了几天,但如果你不能正确地使用静态变量,你的设计可能会很糟糕。 |
S. Jacson · 任意两台发电机的速度差(内置功能) 2 年前 |
Sadeq Dousti · 相当于“嵌套删除”的执行性能SQL查询 2 年前 |
Prince · 复制大型文件需要更多时间 2 年前 |
Sagar · 为什么在循环之外声明变量会更快? 2 年前 |
seco · 如何在不挂起页面的情况下加载JS 2 年前 |