回答編集履歴

1

追記

2019/11/24 00:35

投稿

asm
asm

スコア15149

test CHANGED
@@ -9,3 +9,23 @@
9
9
 
10
10
 
11
11
  [適当に調べたところ](https://sharplab.io/#v2:EYLgHgbALANALiAlgGwD4AEBMBGAsAKHQGYACLEgYRIG8CT6zTEA7OEgWQAoW3EBKGnQbCAzgHdEcAMYALbn1r5hyhlICGIgKYkADCDIB2EpgDcQlcPVaS2feiNEzSi5Y3bMdo1CcvhAej8SK20iTxJvc18AoLdwsIBWH196aOCSeLCIJOTU2Igwg2yowLSDMIBOIpcAE00AMzUAV2QEQxIAWmwqhgBfSL78HqA=)3分岐以上ではジャンプテーブルを使うようです。
12
+
13
+
14
+
15
+
16
+
17
+ ---
18
+
19
+
20
+
21
+ **追記**
22
+
23
+ ついでにgccによるC言語の場合[さらに簡潔になり](https://godbolt.org/z/jXm2eR)ジャンプがなくなります。
24
+
25
+ 基本的にこのレベルの**コンパイラができる最適化**は人間がやる理由がありません。
26
+
27
+ 古い・もしくは最適化しないコンパイラを使わざるを得ない時、計測の結果、性能が足りない時に行う最後の手段です。
28
+
29
+
30
+
31
+ C#が動く時点で、そんな曲芸が必要な環境はほぼ皆無だと思います。