iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

Swiftコンパイラの最適化レベル

今回はSwiftコンパイラOptimization Level (最適化レベル)について調べる機会があったので、それらを簡単にまとめてみます🧑‍🔧

結論

結論、Swiftコンパイラには下記のような最適化レベルがあります。

Level 内容
-Onone 開発時のデフォルトレベルで、最小限の最適化を実行し、デバック情報を保持します。
-O リリース時のデフォルトレベルで、コンパイラーは積極的に最適化を実行し、デバック情報は圧縮されて出力されます。
-Ounchecked 安全性を損なってでもパフォーマンスを向上させたいライブラリやアプリケーションの場合に使用するレベルです。危険な最適化レベルなので、基本的に使用することはありません。
-Osize パフォーマンスよりもコードのサイズに対する最適化を優先して行います。

ちなみにこれらは、XcodeBuild Settings から変更可能です。Swift Compiler - Code Generation > Optimization Level

f:id:yum_fishing:20210307191014p:plain

てな感じで本日も以上になります🍺

参考

その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com