gpt4 book ai didi

C# interface与delegate效能比较的深入解析

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C# interface与delegate效能比较的深入解析由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

前言 以前在Code Complete 2nd(代码大全2)这本书上看过 说在像是C#这种类型语言中能不要用delegate就尽量不要用,多使用interface取代,以避免效能上的影响 实践出真理,所以我就写了个小范例来测试 我的硬件是2.66G 4核心CPU,内存4G 。

C# interface与delegate效能比较的深入解析

我不知道是不是电脑比较快,以及我写的函数太小的关系 次数到了10000000次才看到有影响 。

到了100000000次后看起来也是还好 总而分析,还是会有影响 需要高效运算或是在嵌入式中,应该还是要多注意一点 代码 。

复制代码 代码如下

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; namespace Performance {     class Program     {         delegate int Add(int a, int b);         static Add myDelegate;         const int LOOP_COUNT = 100000000;         static void Main(string[] args)         {             myDelegate = new Add(TestAdd);             IOrz orz = new Orz();             Stopwatch st = new Stopwatch();             st.Start();             for (int i = 0; i < LOOP_COUNT; i++)             {                 int c = orz.DoIt(1, 2);             }             st.Stop();             Console.WriteLine(" Call Interface Elapsed time:{0} ms", st.ElapsedMilliseconds);             st.Reset();             st.Start();             for (int i = 0; i < LOOP_COUNT; i++)             {                 int d = myDelegate(3, 5);             }             st.Stop();             Console.WriteLine("Call Delegate Elapsed time :{0} ms", st.ElapsedMilliseconds);             Console.ReadLine();         }         static int TestAdd(int a, int b)         {             int c = a + b;             return c;         }     } } 。

最后此篇关于C# interface与delegate效能比较的深入解析的文章就讲到这里了,如果你想了解更多关于C# interface与delegate效能比较的深入解析的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

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