- 58 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 813e-5Ix7) mailto:sage [[ここ壊れてます] .net]
- リッチな処理系なら switch も常にただのテーブルということはない。 状況に応じて最適化は入る。
ただ、頻出する分岐がどれなのか予測してくれるほど十分に賢くは無いので 条件があり得る頻度によってチューニングが必要なら if に置き換えるしかしょうがないな。 GCC だとプロファイルを取ってその成果をもとに最適化することも出来る。 頻出する条件を __builtin_expect で指定するとその分岐を優先的に検査する (ようなコードを生成する) という便利機能もある。 手作業で微調整するのは不毛な感じがするから使えるものならコンパイラの賢い機能に頼るのもアリだと思う。 (試したことがないから細かいことは知らない。 たいした効果は無いかもしれない。)
|

|