百科问答小站 logo
百科问答小站 font logo



C# 事件效率如何? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

好吧,还蛮能理解老赵为啥吐槽这种问题的。


首先回答问题吧,我知道提问者希望看到的答案是这样的:

默认情况下事件和委托的实现机制是一样的,或者说除了多态之外的任何运行时方法调用决策,委托是性能最好的方式。所以只考虑委托的性能。

相较于callvirt,单次委托调用的性能差异肯定不可能是ms级别的差别,所以基本上可以不必担心。

不过话说这个自己随便写个程序实测一下就知道了。



这种问题的槽点在于,事实上性能是一个很大的话题,是一个综合性的问题,要改善程序的性能是一个系统性的问题,而且很多时候是必须要进行Profiling才可能发现影响性能的关键点,而不是纸上谈兵就能解决问题的。

绝大多数时候,委托不会成为性能的瓶颈,倒是很可能会掉到事件的坑里面:

事件(Event),绝大多数内存泄漏(Memory Leak)的元凶[上篇]



  

相关话题

  公民身份号码有可能是素数吗? 
  如何以最小的改动尽量不改变已有代码的情况下适应不断变更的需求? 
  如果编程语言有性别?Java、C++、C、C#是男是女?是GAY还是LES? 
  亲爱的程序员们,一天写多少代码才算达标? 
  Windows系统控制台初始界面为什么是黑色的?用黑色的意义在哪? 
  如何反驳「Powershell 比 Linux shell(bash..)好得多」这种说法? 
  C# 从语法角度比 Java 优秀在哪里? 
  如何评价 Mono 的表现? 
  假如用汇编语言重制某游戏或者软件能否降低 CPU 性能损耗? 
  为什么 Java 只有值传递,但 C# 既有值传递,又有引用传递,这种语言设计有哪些好处? 

前一个讨论
为什么维基百科没有符合中国人的捐款方式?
下一个讨论
Windows Phone 用户的自信来自哪里?





© 2025-04-04 - tinynew.org. All Rights Reserved.
© 2025-04-04 - tinynew.org. 保留所有权利