.NET Core到底有多强?

测试代码:
C# Release 未优化

class Program
    {
        static long counter = 0;
        static void Main(string[] args)
        {
            for (int m = 0; m < 100; m++)
            {
                Stopwatch s = new Stopwatch();
                s.Start();
                for (long i = 0; i < 200000000; i++)
                {
                    counter = counter * 2 + 3;
                }
                s.Stop();
                Console.WriteLine(s.Elapsed.TotalMilliseconds + " ms");
            }
            Console.ReadLine();
        }
    }

Core 2.2
676668-20190403173239236-620606102.png

Framework 4.6.1
676668-20190403173347615-147591060.png

C# Release 优化

class Program
    {
        static long counter = 0;
        static void Main(string[] args)
        {
            for (int m = 0; m < 100; m++)
            {
                Stopwatch s = new Stopwatch();
                s.Start();
                long temp = counter;
                for (long i = 0; i < 200000000; i++)
                {
                    temp = temp * 2 + 3;
                    counter = temp;
                }
                s.Stop();
                Console.WriteLine(s.Elapsed.TotalMilliseconds + " ms");
            }
        }
    }

Core 2.2
676668-20190403173419497-471080138.png
Framework 4.6.1
676668-20190403173500188-600496022.png

go 未优化(照抄C#)

var counter int64 = 0
func ExampleLinq_3() {
    for m := 0; m < 100; m++ {
        t1 := time.Now()
        for i := 0; i < 200000000; i++ {
            counter = counter*2 + 3
        }
        fmt.Println("用时:", time.Now().Sub(t1))
    }
    // Output:
}

676668-20190403173017119-665123155.png

go 优化(照抄C#)

var counter int64 = 0
func ExampleLinq_4() {
    for m := 0; m < 100; m++ {
        t1 := time.Now()
        temp := counter
        for i := 0; i < 200000000; i++ {
            temp = temp*2 + 3
            counter = temp
        }
        fmt.Println("用时:", time.Now().Sub(t1))
    }
    // Output:
}

676668-20190403173100840-116291767.png

java 8 未优化(照抄C#)
676668-20190403182059024-51527599.png

java 8 优化(照抄C#)
676668-20190403182219709-1889719063.png

由于go没有静态变量
676668-20190403183204160-1326261153.png

.net core 非静态
676668-20190403183040102-168459307.png

java 8
676668-20190403183333884-983239724.png

转载于:https://www.cnblogs.com/kingreatwill/p/10650375.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值