忍者ブログ
  C#   マクロ   Notepad++
04
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

for文で"i++"より"++i"が速いと聞いた。
検証してみた。



- 検証コード
using System;
using System.Diagnostics;
using System.Linq;

class Class1 {
	static void Main() {
		Console.WriteLine("■i++");
		Instrumentation(() => { for (int i = 0; i < 1000; i++ ) Console.WriteLine(i); });
		Console.WriteLine("■++i");
		Instrumentation(() => { for (int i = 0; i < 1000; ++i) Console.WriteLine(i); });
		Console.WriteLine("■判定時i++");
		Instrumentation(() => { for (int i = 0; i++ < 1000; ) Console.WriteLine(i); });
		Console.WriteLine("■判定時++i");
		Instrumentation(() => { for (int i = 0; ++i < 1001; ) Console.WriteLine(i); });
		Console.WriteLine("■遊び心");
		Instrumentation(() => { Enumerable.Range(1, 1000).ToList().ForEach(s =>; Console.WriteLine(s)); });

	static void Instrumentation(Action action) {
		Stopwatch stopwatch = new Stopwatch();

		stopwatch.Start();
		action();
		stopwatch.Stop();

		Console.WriteLine(stopwatch.Elapsed);
	}
}

- 出力結果 (数字出力部分は省略)
■i++
00:00:00.0005953
■++i
00:00:00.0004978
■判定時i++
00:00:00.0005163
■判定時++i
00:00:00.0005148
■遊び心
00:00:00.0049966

の結果に。
何度か数値を変えたりToString()してみたりと
変えてみたが、for (int i = 0; i < length; ++i)の書き方が一番速かったです

なんで速いかまではわからなかったですが
調べてピコーンとわかれば追記の心意気

PR
この記事にコメントする
名前
URL
本文
パス   
HOME  NEXT
忍者ブログ  [PR]

(design by 山瀬)