×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
あんなのやこんなのを検証していたら
最初のConsole.WriteLine出力だけが異様に時間がかかることが判明。
検証してみた。
最初のConsole.WriteLine出力だけが異様に時間がかかることが判明。
検証してみた。
- 検証コード
- 出力結果
00:00:00.0007026
00:00:00.0002462
00:00:00.0002083
00:00:00.0002094
単に代入だけのメソッドとかに変えてみても
最初のConsole.WriteLineだけはどうしても時間がかかる
Console.WriteLineを使用して検証する場合には、
最初にダミーの出力をしておくのが良いと。
2011/06/10 追記
かなり勘違いしていました。
Console.WriteLineの初速度じゃなくてdelegateの初速度が遅かったです
相当恥ずかしい勘違いをしていました。。。
using System;
using System.Diagnostics;
class Class1 {
static void Main() {
Instrumentation(() => { Console.WriteLine(string.Empty); } );
Instrumentation(() => { Console.WriteLine(string.Empty); } );
Instrumentation(() => { Console.WriteLine(string.Empty); } );
Instrumentation(() => { Console.WriteLine(string.Empty); } );
}
static void Instrumentation(Action action) {
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
action();
stopwatch.Stop();
Console.WriteLine(stopwatch.Elapsed);
}
}
- 出力結果
00:00:00.0007026
00:00:00.0002462
00:00:00.0002083
00:00:00.0002094
単に代入だけのメソッドとかに変えてみても
最初のConsole.WriteLineだけはどうしても時間がかかる
Console.WriteLineを使用して検証する場合には、
最初にダミーの出力をしておくのが良いと。
2011/06/10 追記
かなり勘違いしていました。
Console.WriteLineの初速度じゃなくてdelegateの初速度が遅かったです
相当恥ずかしい勘違いをしていました。。。
PR
この記事にコメントする