×
[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
この記事にコメントする