dotnet5.0.102で新しいプロジェクトを作成する
できた。けど遅い。
情報源
結論
dotnet 5 もやはり遅い。Hello worldを実行するまで72秒もかかった。
工程 | 所要時間 |
---|---|
プロジェクト生成 | 21s |
ビルド | 31s |
実行 | 20s |
「dotnet5はMONOを使うようになるから速くなる」っていってたのに。dotnet Core 3 はビルドに50秒かかっていたから速くはなった。でもMONOは10秒なんですが……。
ビルド | 時間(秒) |
---|---|
MONO(csc) | 10 |
.NET Core 3 | 50 |
.NET 5.0.102 | 30 |
前提
手順
- テンプレートを一覧する
- プロジェクトを作成する
- ビルドする
- 実行する
1. テンプレートを一覧する
dotnet new -l
Templates Short Name Language Tags -------------------------------------------- -------------- ------------ ---------------------- Console Application console [C#], F#, VB Common/Console Class library classlib [C#], F#, VB Common/Library Worker Service worker [C#], F# Common/Worker/Web Unit Test Project mstest [C#], F#, VB Test/MSTest NUnit 3 Test Project nunit [C#], F#, VB Test/NUnit NUnit 3 Test Item nunit-test [C#], F#, VB Test/NUnit xUnit Test Project xunit [C#], F#, VB Test/xUnit Razor Component razorcomponent [C#] Web/ASP.NET Razor Page page [C#] Web/ASP.NET MVC ViewImports viewimports [C#] Web/ASP.NET MVC ViewStart viewstart [C#] Web/ASP.NET Blazor Server App blazorserver [C#] Web/Blazor Blazor WebAssembly App blazorwasm [C#] Web/Blazor/WebAssembly ASP.NET Core Empty web [C#], F# Web/Empty ASP.NET Core Web App (Model-View-Controller) mvc [C#], F# Web/MVC ASP.NET Core Web App webapp [C#] Web/MVC/Razor Pages ASP.NET Core with Angular angular [C#] Web/MVC/SPA ASP.NET Core with React.js react [C#] Web/MVC/SPA ASP.NET Core with React.js and Redux reactredux [C#] Web/MVC/SPA Razor Class Library razorclasslib [C#] Web/Razor/Library ASP.NET Core Web API webapi [C#], F# Web/WebAPI ASP.NET Core gRPC Service grpc [C#] Web/gRPC dotnet gitignore file gitignore Config global.json file globaljson Config NuGet Config nugetconfig Config Dotnet local tool manifest file tool-manifest Config Web Config webconfig Config Solution File sln Solution Protocol Buffer File proto Web/gRPC
今回はconsole
を使う。
2. プロジェクトを作成する
ルートディレクトリを作成する。
mkdir my_csharp_project cd my_csharp_project
生成する。21秒もかかった。
time dotnet new console
... /tmp/work/work.csproj を復元しました (645 ms)。 Restore succeeded. real 0m21.000s user 0m22.706s sys 0m2.281s
3. ビルドする
30秒かかった。
time dotnet new console
...
経過時間 00:00:25.45
real 0m31.391s
user 0m29.851s
sys 0m2.834s
4. 実行する
20秒かかった。
time dotnet run
Hello World! real 0m18.184s user 0m21.211s sys 0m2.498s
成果物
所感
遅い。dotnet遅い。HelloWorldで72秒かかるって遅すぎ。
やはりMONOのほうが遥かに早くて良い。dotnetはクソ。Microsoftはクソ。「dotnet5はMONOを使うようになるから速くなる」っていってたのに。
対象環境
- Raspbierry pi 4 Model B
- Raspberry Pi OS buster 10.0 2020-08-20 ※
- bash 5.0.3(1)-release
$ uname -a Linux raspberrypi 5.4.83-v7l+ #1379 SMP Mon Dec 14 13:11:54 GMT 2020 armv7l GNU/Linux