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执行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Downfall漏洞补丁影响英特尔CPU
- 下一篇: 2013下半年福建高等学校非计算机专业学