.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

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到底有多强?的更多相关文章
- Lucene.net 的性能探究--Lucene.net 的并发处理能力到底有多强?
这篇博客并不是证明Lucene.net的性能有多强悍,实际上Lucene.net的并发能力并不让人很满意,这得看你怎么用它. 因为Lucene 本身就是一个搜索引擎的基础框架,相当于一辆车子的发动机, ...
- sqrt开平方算法的尝试,是的看了卡马克大叔的代码,我来试试用C#写个0x5f3759df和0x5f375a86跟System.Math.Sqrt到底哪个更强
今天笔试遇到一个代码题,要求写一个开平方算法,回来发现了雷神之锤里的一段神代码: float Q_rsqrt( float number ) { long i; float x2, y; const ...
- Python实现循环的最快方式,for和while到底谁更强
写在前面的一些P话: 大家都知道,效率不管是对于工作还是学习都是十分重要的.当然,Python也是需要效率的.众所周知,Python 不是一种执行效率较高的语言.此外在任何语言中,循环都是一种非常消耗 ...
- 深入研究 Mini ASP.NET Core(迷你 ASP.NET Core),看看 ASP.NET Core 内部到底是如何运行的
前言 几年前,Artech 老师写过一个 Mini MVC,用简单的代码告诉读者 ASP.NET MVC 内部到底是如何运行的.当时我研究完以后,受益匪浅,内心充满了对 Artech 老师的感激,然后 ...
- ASP.NET Core开发-获取所有注入(DI)服务
获取ASP.NET Core中所有注入(DI)服务,在ASP.NET Core中加入了Dependency Injection依赖注入. 我们在Controller,或者在ASP.NET Core程序 ...
- NET Core开发-获取所有注入(DI)服务
NET Core开发-获取所有注入(DI)服务 获取ASP.NET Core中所有注入(DI)服务,在ASP.NET Core中加入了Dependency Injection依赖注入. 我们在Cont ...
- 在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. ...
- net core体系-2继续认识net core
认识net core,net core到底啥?从哪说起呢?我想作为开发的码农,web项目不陌生吧,那就从对应的.net web 对应的net core Web Application项目开始吧. 下面 ...
- .NET Core 跨平台
前言 .NET Core是一个开源的模块化的Framework,不管是开发web或移动设备都在同一个Framework(.NET Core)下运行,而且 .NET Core也可在不同的操作系统上运 ...
随机推荐
- Prometheus部署监控容器
Prometheus架构描述 Prometheus 是一个非常优秀的监控工具.准确的说,应该是监控方案.Prometheus 提供了监控数据搜集.存储.处理.可视化和告警一套完整的解决方案 Prome ...
- VMware虚拟机共享宿主机硬盘步骤
1.打开设置 2. 进去设置后,选择选项选项卡,启用文件夹共享,添加文件夹即可 注:虚拟机安装完成后我先装了 VMwareTools,然后进行的共享操作,貌似不安装时无法启用第三步,即 总是启用 按钮 ...
- Cache Aside Pattern
Cache Aside Pattern 即旁路缓存是缓存方案的经验实践,这个实践又分读实践,写实践 对于读请求 先读cache,再读db 如果,cache hit,则直接返回数据 如果,cache m ...
- Docker容器和本机之间的文件传输
docker cp 本地文件路径 ID全称:容器路径
- sql多行多列重复
在sql的查询中我们会遇到查询的结果比如这样的: 查询这张表的sql语句: select r.ROLE_NAME,u.USERID,u.USERNAME,u.TrueName from BASE_ ...
- pygame 游戏舞台搭建典型应用
#两个文件要放在同一目录中,包括图片 一.搭建游戏舞台主程序 #!/usr/bin/env python3#_*_coding:utf-8_*_ author ==$ VACyp import sys ...
- druid数据源连接oracle10g报错:not support oracle driver 1.0
jdbc驱动与数据库版本不一致,去数据库服务器的安装目录(cd $ORACLE_HOME)找jdbc->lib->ojdbcX.jar 替换到你项目中即可. oracle目录lib下jar ...
- 2018.2.22 学习笔记 random模块及每日一练
给你一个字符数,把它的每个字符之间加上一个空格,形成一个新字符串. 例如:I love FishC. 变成I l o v e F i s h C . 跟小甲鱼学编程 变成 跟 小 甲 鱼 学 ...
- 2018-2019-3 网络对抗技术 20165305 Exp3 免杀原理与实践
1.实验内容及步骤 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程 将做实验二时生成的后门文件用virusto ...
- python大作业
爬取西刺代理 生成请求头 #encoding = utf-8; __all__ = ("Header"); import random; class Header(object): ...