拾遗.NET8 NativeAOT(三)

2023-11-26  本文已影响0人  ChenReal

忽然发现,上一篇实战NativeAOT的文章中漏了一个很重要的测试指标——执行速度。

Terribly Sorry!!!我现在赶紧补上~~

一、测试代码

在Program.cs代码入口方法头尾,各自增加一行时间输出的代码。时间必须是有毫秒的输出。例如:

static void Main(string[] args){
    Console.WriteLine($"App Started At:{DateTime.Now.ToString("HH:mm:ss.fff")}");
...
    Console.WriteLine($"App `Finished` At:{DateTime.Now.ToString("HH:mm:ss.fff")}");
}

二、测试应用样本

将VuePacker应用分别发布两个版本:

三、测试脚本

分别准备两个启动应用的测试脚本,在执行应用启动命令之前输出一个时间,用于测试应用的启动时间。

1、AOT应用

@echo off
set ROOT_PATH=D:\develop\rmblog

echo Script Started:%TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%.%TIME:~9,2%0

vuepacker-aot\VuePacker.exe --src %ROOT_PATH%\UI\views --dist %ROOT_PATH%\bin\views --config %ROOT_PATH%\UI\tools\appsettings.json --uglify

2、.NET应用

@echo off
set ROOT_PATH=D:\develop\rmblog

echo Script Started:%TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%.%TIME:~9,2%0

vuepacker-dotnet\VuePacker.exe --src %ROOT_PATH%\UI\views --dist %ROOT_PATH%\bin\views --config %ROOT_PATH%\UI\tools\appsettings.json --uglify

四、测试结果

上面的两个脚本,各自执行了三次。结果如下:

1、AOT应用


AOT应用

2、.NET应用


.NET应用

五、总结

我的测试方法虽然比较粗糙,但是反映了相对客观的结论:在应用执行速度上的测试,很明显AOT都具有明显的优势。
我们不妨列个表格,直观的比对一下吧。

对比指标 .NET应用 AOT应用 提升%
启动速度 69ms 51ms +26%
执行速度 385ms 278ms +28%
上一篇下一篇

猜你喜欢

热点阅读