测试代码:

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. Prometheus部署监控容器

    Prometheus架构描述 Prometheus 是一个非常优秀的监控工具.准确的说,应该是监控方案.Prometheus 提供了监控数据搜集.存储.处理.可视化和告警一套完整的解决方案 Prome ...

  2. VMware虚拟机共享宿主机硬盘步骤

    1.打开设置 2. 进去设置后,选择选项选项卡,启用文件夹共享,添加文件夹即可 注:虚拟机安装完成后我先装了 VMwareTools,然后进行的共享操作,貌似不安装时无法启用第三步,即 总是启用 按钮 ...

  3. Cache Aside Pattern

    Cache Aside Pattern 即旁路缓存是缓存方案的经验实践,这个实践又分读实践,写实践 对于读请求 先读cache,再读db 如果,cache hit,则直接返回数据 如果,cache m ...

  4. Docker容器和本机之间的文件传输

    docker cp 本地文件路径 ID全称:容器路径

  5. sql多行多列重复

      在sql的查询中我们会遇到查询的结果比如这样的: 查询这张表的sql语句: select r.ROLE_NAME,u.USERID,u.USERNAME,u.TrueName from BASE_ ...

  6. pygame 游戏舞台搭建典型应用

    #两个文件要放在同一目录中,包括图片 一.搭建游戏舞台主程序 #!/usr/bin/env python3#_*_coding:utf-8_*_ author ==$ VACyp import sys ...

  7. druid数据源连接oracle10g报错:not support oracle driver 1.0

    jdbc驱动与数据库版本不一致,去数据库服务器的安装目录(cd $ORACLE_HOME)找jdbc->lib->ojdbcX.jar 替换到你项目中即可. oracle目录lib下jar ...

  8. 2018.2.22 学习笔记 random模块及每日一练

    给你一个字符数,把它的每个字符之间加上一个空格,形成一个新字符串. 例如:I love FishC.  变成I   l o v e   F i s h C . 跟小甲鱼学编程 变成 跟 小 甲 鱼 学 ...

  9. 2018-2019-3 网络对抗技术 20165305 Exp3 免杀原理与实践

    1.实验内容及步骤 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程 将做实验二时生成的后门文件用virusto ...

  10. python大作业

    爬取西刺代理 生成请求头 #encoding = utf-8; __all__ = ("Header"); import random; class Header(object): ...