というつぶやきを拝見しました。Optionalに値が入っている場合の分岐の速度ということですね。もう少し詳細に調べてみました。 以下のコードを実機iPhoneで動かしてみます。 debug設定、つまり-OnoneでコンパイルしてrunSpeedTestsを実行すると Execution time - Optional Binding: 0.802894949913025 Execution time - eq not nil: 8.99928903579712 Execution time - switch: 0.802114963531494このような結果になりました。nilとの比較ではOptional Bindingよりも10倍以上の時間がかかっています。Swiftは!=は内部でswitchで検査しているようです。しかしswitchは最も速いです(何度実行してもほぼ最速)。となると!=