回答編集履歴
2
ちょっとだけ追加
answer
CHANGED
@@ -1,5 +1,8 @@
|
|
1
|
-
下記コードをMono 4.2.1 (OS X 10.11.3)で試して見ましたが、`!=`の方が
|
1
|
+
下記コードをMono 4.2.1 (OS X 10.11.3)で試して見ましたが、`!=`の方が3倍ぐらい遅いです。また、`!=`も[String.Inequality 演算子 (String, String)](https://msdn.microsoft.com/ja-jp/library/system.string.op_inequality(v=vs.110).aspx)というメソッドなので、メソッド呼び出しになると思われます。また、nullの場合に結果が異なります。
|
2
2
|
|
3
|
+
と言うことで、良い事なんて無いようです。下記コードをレビュアーに叩きつけてやって下さい。
|
4
|
+
※ Visual C#ではは未確認なので、ご注意を。
|
5
|
+
|
3
6
|
```C#
|
4
7
|
using System;
|
5
8
|
using System.Diagnostics;
|
1
検証のソースコードが間違っていました。すいません。
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
下記コードをMono 4.2.1 (OS X 10.11.3)で試して見ましたが、速
|
1
|
+
下記コードをMono 4.2.1 (OS X 10.11.3)で試して見ましたが、`!=`の方が低速です。また、`!=`も[String.Inequality 演算子 (String, String)](https://msdn.microsoft.com/ja-jp/library/system.string.op_inequality(v=vs.110).aspx)というメソッドなので、メソッド呼び出しになると思われます。また、nullの場合に結果が異なります。
|
2
2
|
|
3
3
|
```C#
|
4
4
|
using System;
|
@@ -12,13 +12,13 @@
|
|
12
12
|
const long times = 1000000000;
|
13
13
|
String text = "a";
|
14
14
|
Console.WriteLine("TimeMethod: " + TimeMethod(times, text));
|
15
|
-
Console.WriteLine("TimeEqual: " +
|
15
|
+
Console.WriteLine("TimeEqual: " + TimeEqual(times, text));
|
16
16
|
text = "";
|
17
17
|
Console.WriteLine("TimeMethod: " + TimeMethod(times, text));
|
18
|
-
Console.WriteLine("TimeEqual: " +
|
18
|
+
Console.WriteLine("TimeEqual: " + TimeEqual(times, text));
|
19
19
|
text = null;
|
20
20
|
Console.WriteLine("TimeMethod: " + TimeMethod(times, text));
|
21
|
-
Console.WriteLine("TimeEqual: " +
|
21
|
+
Console.WriteLine("TimeEqual: " + TimeEqual(times, text));
|
22
22
|
}
|
23
23
|
public static TimeSpan TimeMethod(long times, String text) {
|
24
24
|
Stopwatch sw = new Stopwatch();
|
@@ -47,4 +47,4 @@
|
|
47
47
|
return sw.Elapsed;
|
48
48
|
}
|
49
49
|
}
|
50
|
-
```
|
50
|
+
```
|