vs mono linux,[.NET][C#.NET]走跳在Linux的人生(八).NET Core与Mono执行
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
接着新增主控台应用程序(.NET Framework) ,这边设定项目名称是MonoConsole
分别打开两个项目的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
.NET Framework : 132ms
速度相近,.NET Framework略快一些,差别不太大,都很快。
Linux 环境执行:
分别打开两个项目的bin目录,将dll及exe以pscp或是ftp命令复制到Linux环境
.NET Core(直接编译成dll)
.NET Framework(传统的exe)
.NET Core : 326 ms
Mono : 202 ms
小结:相较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
vs mono linux,[.NET][C#.NET]走跳在Linux的人生(八).NET Core与Mono执行相关推荐
- linux中服务器之间的跳转,linux之***服务器间ip隧道跳转多ip路由走向分流(系真实案例)...
本文系统Centos6.0:这里的***服务以pptpd为例:其中底层涉及到pptpd+freeradius+mysql认证: 本文系真实案例:leader需求大多是这样的,节约成本还要达到所需要的效 ...
- linux下怎样运行oyrhon,Linux 下从头再走 GTK+-3.0 (一)
原本由于项目需求在 Linux 下学习过一段时间的 GTK+2.0 图形开发,时隔一段时间,想真正深入学习一下 GTK . 这次直接从头学习 GTK+-3.0 ,并写下博文便于日后查看,也方便新手入门 ...
- Linux期末复习考前走一走——何绍华Linux操作系统第3版
文章目录: 老师要求掌握 扩展 第一章 初识Linux 第二章 安装Linux操作系统 第三章 图形化界面与命令行 1.Linux图形化管理系统主要由以下两部分构成 2.了解KDE桌面组件 3.了解G ...
- Linux在中国如何走出困境?
多年来,在国内所谓"圈子"里面的人,总是把Linux用户看成是"小众群体",不能给予足够的重视,软件盗版的泛滥进一步加重了这一倾向.我们该怎么办呢? 我认为,在 ...
- linux ctg重装,Linux 下从头再走 GTK+-3.0 (五)
实践中表明,纯粹利用 gtk 函数来创建 UI 是很繁琐的事,需要编写很多代码.怎样才能快速统一的建立 UI 布局呢? 可喜的是 GTK 提供了一个 GtkBuilder 用于快速创建界面.它读取一个 ...
- 如何在linux系统下修改mysql密码_如何在linux下修改mysql数据库密码?linux修改数据库密码的方法...
本篇文章给大家带来的内容是介绍如何在linux下修改mysql数据库密码?linux修改数据库密码的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. Linux下修改Mysql的 ...
- 【Linux】一步一步学Linux——traceroute命令(167)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 traceroute命令用于追踪数据包在网络上的传输时的全 ...
- Linux进程间通信的几种方式总结-——linux内核剖析
进程间通信概述 Linux内核通信相关视频讲解:Linux内核,进程间通信组件的实现 linux内核,进程调度器的实现,内核源码分析 进程通信的目的 传输数据 一个进程须要将它的数据发送给还有一个进程 ...
- 【linux运维笔记】 第一章 Linux发展史与安装
第一章 Linux发展史与安装 一.Linux发展史 1.Linux前身-Unix (1)1968年 Multics项目 MIT.Bell实验室.美国通用电气有限公司走到了一起,致力于开发Multic ...
最新文章
- vxworks 学习和windows azure 学习
- 卷积神经网络 训练的结果是什么_射击训练:卷积神经网络识别解剖结构标志位点...
- Android 制作类似支付圆圈和打钩界面ProgressWheel
- 汇编语言复习摘要二——寄存器
- 找不到tgp饥荒专用服务器,饥荒tgp版专用服务器搭建指南_游侠网
- postgreSQL数据库默认用户postgres常用命令
- windows库的创建和使用:静态库+动态库
- paip.网页右键复制菜单限制解除解决方案
- Git生成并添加SSH key[并添加到Github]
- GJB438C-2021规范详解其二
- Windows Server 2008 R2远程桌面服务安装配置和授权激活
- 服务器系统做双备份,云服务器如何做双机热备份
- 笔记本计算机风扇连线,机箱风扇接口怎么接电源线【图文】
- 多x多y的origin图_素雅、便携、多场景,松下纳诺怡X黑科技除菌净味产品使用简评...
- 程序员在囧途之风投五宗罪
- Excel Rate 函数的JavaScript 实现,等额本息计算反推利率
- 微信小程序 获取组件数据
- 申宝证券-题材股活跃沪指尾盘收红
- 机器学习Sklearn——红酒分类案例详解决策树模型参数
- java 文件名排序_Java笔记:像win里一样文件名排序
热门文章
- java 微型数据库_Java 9代码工具:使用Java微型基准测试工具的实践会话
- 海贼王为什么画风突变_什么是突变测试?
- input发送a.jax_Java REST JAX-RS 2.0 –如何处理日期,时间和时间戳记数据类型
- java oauth2.0_教程:如何实现Java OAuth 2.0以使用GitHub和Google登录
- 成为java高手_我如何想成为Java
- openshift_OpenShift上具有NetBeans的Java EE
- glass fish_Glass Fish 4.0.1中的Jersey SSE功能
- spring安全_Spring安全–幕后
- 动态方法注入 grails_Grails动态下拉菜单
- 依赖注入通俗解释_我如何向团队解释依赖注入