测试代码:

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

Framework 4.6.1

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



Framework 4.6.1

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:
}

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:
}

java 8 未优化(照抄C#)

java 8 优化(照抄C#)

由于go没有静态变量

.net core 非静态

java 8

.NET Core到底有多强?的更多相关文章

  1. Lucene.net 的性能探究--Lucene.net 的并发处理能力到底有多强?

    这篇博客并不是证明Lucene.net的性能有多强悍,实际上Lucene.net的并发能力并不让人很满意,这得看你怎么用它. 因为Lucene 本身就是一个搜索引擎的基础框架,相当于一辆车子的发动机, ...

  2. sqrt开平方算法的尝试,是的看了卡马克大叔的代码,我来试试用C#写个0x5f3759df和0x5f375a86跟System.Math.Sqrt到底哪个更强

    今天笔试遇到一个代码题,要求写一个开平方算法,回来发现了雷神之锤里的一段神代码: float Q_rsqrt( float number ) { long i; float x2, y; const ...

  3. Python实现循环的最快方式,for和while到底谁更强

    写在前面的一些P话: 大家都知道,效率不管是对于工作还是学习都是十分重要的.当然,Python也是需要效率的.众所周知,Python 不是一种执行效率较高的语言.此外在任何语言中,循环都是一种非常消耗 ...

  4. 深入研究 Mini ASP.NET Core(迷你 ASP.NET Core),看看 ASP.NET Core 内部到底是如何运行的

    前言 几年前,Artech 老师写过一个 Mini MVC,用简单的代码告诉读者 ASP.NET MVC 内部到底是如何运行的.当时我研究完以后,受益匪浅,内心充满了对 Artech 老师的感激,然后 ...

  5. ASP.NET Core开发-获取所有注入(DI)服务

    获取ASP.NET Core中所有注入(DI)服务,在ASP.NET Core中加入了Dependency Injection依赖注入. 我们在Controller,或者在ASP.NET Core程序 ...

  6. NET Core开发-获取所有注入(DI)服务

    NET Core开发-获取所有注入(DI)服务 获取ASP.NET Core中所有注入(DI)服务,在ASP.NET Core中加入了Dependency Injection依赖注入. 我们在Cont ...

  7. 在drawRect:方法中绘制图片,文字以及Core Graphics 框架的了解

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0. ...

  8. net core体系-2继续认识net core

    认识net core,net core到底啥?从哪说起呢?我想作为开发的码农,web项目不陌生吧,那就从对应的.net web 对应的net core Web Application项目开始吧. 下面 ...

  9. .NET Core 跨平台

    前言   .NET Core是一个开源的模块化的Framework,不管是开发web或移动设备都在同一个Framework(.NET Core)下运行,而且 .NET Core也可在不同的操作系统上运 ...

随机推荐

  1. Linux环境下虚拟环境virtualenv安装和使用

    virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够: 1. 在没有权限的情况下安装新套件 2. 不同应用可以使用不同的套件版本 3. 套件升级不影响其他应用 ...

  2. AOP代理对象生成

    AOP(Aspect-OrientedProgramming,面向方面编程)是OOP(Object-Oriented Programing,面向对象编程)的良好补充与完善,后者侧重于解决 从上到下的存 ...

  3. PHP jsonp ajax 跨域 实例

    HTML代码 <html> <head> <title>跨域测试</title> <script src="http://code.jq ...

  4. mysql储存过程入门学习

    转载至:https://www.yiibai.com/mysql/getting-started-with-mysql-stored-procedures.html 1.mysql储存过程的创建 DE ...

  5. 2019.04.16 python基础50

    第五十一节  pycharm安装 https://www.jetbrains.com/pycharm/download/#section=windows 这是另一个叫jetbrains公司开发的 默认 ...

  6. DDD关键知识点整理汇总

    创建领域对象采用构造函数或者工厂,如果用工厂时需要依赖于领域服务或仓储,则通过构造函数注入到工厂: 一个聚合是由一些列相联的Entity和Value Object组成,一个聚合有一个聚合根,聚合根是E ...

  7. The world is in my hands

    Null项 其实我还是比较希望你能理解我的心情 无聊666回味

  8. 铁大Facebook隐私保护NABCD

    隐私保护功能: N:满足了用户保护自己隐私信息的需求 A:对每一项用户可能需要保护的信息,我们都会添加仅自己可见.指定人可见.部分人可见或所有人可见设置 B:让用户的信息受到更全面的保护,而不仅仅是对 ...

  9. 虚拟机——虚拟机VMware Workstation 的.vmdk格式与VirtualBox 的.vdi格式相互转换

    啦啦啦~~~ 由于现在Vmware Workstation的越来越普及,让很多小伙伴不知道怎么把以前用的VirtualBox虚拟机vdi格式转换成vmdk格式,下面我们就来转换一下吧... 第一步:找 ...

  10. 利用反射和JDBC元数据实现更加通用的查询方法

    package com.at221.jdbc; import java.io.IOException; import java.io.InputStream; import java.sql.*; i ...