ビルドに60秒とか遅すぎてハゲる。
コマンド
C#ソースコードをビルド&実行するコマンドは以下の2種類ある。
コマンド | 概要 |
---|---|
csc |
コンパイラ。ソースコードから実行ファイルを生成する |
dotnet |
最新のコマンド。コンパイルなど色々できるが超遅い |
結果
コマンド | 時間(秒) |
---|---|
csc |
10 |
dotnet build |
50 |
cscのほうが5倍も速い。
試してみた
条件
公平を期すため、dotnet build
を使う。dotnet run
だと実行まで含めてしまうから。
ソースコード
Program.cs
class Program { static void Main() => System.Console.WriteLine("Hello world"); }
計測
time csc Program.cs
time dotnet new console -o pj cp Program.cs ./pj/Program.cs cd pj time dotnet build
コマンド | 時間(秒) |
---|---|
csc |
10 |
dotnet build |
50 |
ちなみにdotnet run
だと60秒くらいかかる。そもそもプロジェクト作成dotnet new
で20秒くらいかかった。遅すぎ!
所感
タイポ修正に60秒間も浪費させられる苦痛。
できるだけcsc
を使いたい。でも、いちいち所有権を付与して実行するのを別途コマンドせねばならない。これを自動化するスクリプトを書きたい。
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13 ※
- bash 4.4.12(1)-release ※
- SQLite 3.29.0 ※
- C# dotnet 3.0.100 ※
$ uname -a Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux