vs mono linux,[.NET][C#.NET]走跳在Linux的人生(八).NET Core与Mono执行

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

我们来试试用.NET Core从Windows环境开发,然后porting到Linux环境(布署及执行.NET Core),之前曾看过stackoverflow文章提到Mono的性能问题,这一次我们同时也想了解.NET Core与Mono在性能中的表现是否有变化。

环境:开发环境: Windows 10 + Visual Studio 2017

AP环境: Red Hat Enterprise Linux + Mono 5.0.1.1 + .NET Core 1.1

新增主控台应用程序(.NET Core) 与(.NET Framework)

我们第一个设定项目名称是CoreConsole

1500770600_53863.png

接着新增主控台应用程序(.NET Framework) ,这边设定项目名称是MonoConsole

1500770636_21461.png

分别打开两个项目的program.cs程序,输入以下程序internal class Program

{

private static void Main(string[] args)

{

DateTime dtStart = DateTime.Now;

System.Console.WriteLine(dtStart.ToString("o"));

run();

DateTime dtEnd = DateTime.Now;

System.Console.WriteLine(dtEnd.ToString("o"));

TimeSpan ts = dtEnd - dtStart;

System.Console.WriteLine(ts.TotalMilliseconds);

//.NET CORE项目

System.Console.WriteLine(".NET CORE");

//.NET Framework项目

System.Console.WriteLine(".NET Framework");

Console.ReadKey(true);

}

public static void run()

{

int i = 2;

int j = 3;

for (int x = 0; x < 20000000; x++)

{

int a = i + j;

int b = i - j;

int c = i * j;

int d = i / j;

}

}

}

简单的加减乘除执行2000万次

Windows 环境执行:

首先在windows环境下以Visual Studio 执行!

启动但不侦错(Ctrl+ F5)

.NET Core: 175ms

1500770705_95071.png

.NET Framework : 132ms

1500770731_97147.png

速度相近,.NET Framework略快一些,差别不太大,都很快。

Linux 环境执行:

分别打开两个项目的bin目录,将dll及exe以pscp或是ftp命令复制到Linux环境

.NET Core(直接编译成dll)

1500770788_3097.png

.NET Framework(传统的exe)

1500770810_09122.png

.NET Core : 326 ms

1500770935_71352.png

Mono : 202 ms

1500770979_46158.png

小结:相较Windows环境执行都来的慢一点点,不过因为机器不同(实例 vs 虚拟,i7 vs E5),没办法比较

在Linux上也都算快,Mono略快了一些,不过2000万次数学运算,差异0.1秒也不太明显。

虽然执行了几次都是类似的结果,不过数学加减乘除运算并不代表所有运算情境喔。

参考:

Runtime Performance of NET Core vs. NET Framework vs. Mono

What is the difference between .NET Core and Mono

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值