Swift Internal Introduces
- ダウンロード商品¥ 500
Swiftの実装をまとめた本ですが、Swiftのソースコードはほとんど登場しません! pdf版で60ページ程度のボリュームです。 2017/05/05にv1.3へ更新しました。誤字脱字の修正がメインです。 2016/12/29にv1.2へ更新しました。またDropbox Publicフォルダが2017/03/15廃止に伴いGoogleDriveへ変更しましたので、新URLを追記しています。 既に購入済みのユーザは2017/03/15までにv1.2を再取得して頂けると助かります。
はじめに
本書はSwiftの実装やコンパイラやRuntimeがどんな感じなのかなーと興味を持っている方を対象としており、 筆者が関心を持った点は以下のようになります。 (1) GitHubで公開されたSwiftに興味があり、ソースコードを読んで理解するための足がかりを作る (2) LLVMと連携しているSwiftに興味がある (3) Swiftで行われているコンパイラの最適化やStdlibやRuntimeの高速化に興味がある (4) Swiftの高速化のTipsや、どのような仕組みで高速化されるのかに興味がある (5) Swiftの裏側(低レイヤ)がどのように動いているのか興味がある 似たような疑問や関心を持っている方へ、本書を手にとって頂ければ幸いです。
目次
1.はじめに 電子書籍版の配布に際して ライセンス 前提条件 本書の構成 用語 お断り 2.Swiftのソースコードと構成 Swiftのビルドと環境構築 Swiftのプロジェクトの構成 Swiftのソースコードの構成 3.Swift Overview Swiftとは SwiftとLLVM SwiftとClang swiftcのコンパイラアーキテクチャ swiftcの中間成果物を確認するためのコマンドラインオプション swiftcをコントロールするオプション 4.Swift Frontend Frontendの主制御 Frontendのオプション Parsingの概要 token一覧 SIL(Swift Intermediate Language) SIL変換後の最適化 Coreライブラリのattributeと最適化 5.Swift Backend Backendの主制御 Swift固有のLLVMによる最適化 LLVM IRをオブジェクトに埋め込むembed-bitcode機能 embed-bitcodeとLTO Swift Runtime 6.SwiftのRuntimeライブラリ SymbolからRuntimeFunctionのソースコードを探す RuntimeFunctionの機能分類と代表的なもの リソース管理 リソース管理のまとめ 参照カウント/Ownership 参照カウント/Ownershipのまとめ COWの実装 COWのまとめ SwiftのABIと後方互換性 7.Swift OptimizationTips 最適化オプション Reducing Dynamic Dispatch Generics Protocol Protocol Extension コンパイル時間 注意事項 8.おわりに あとがき v1.1 追記 v1.2 追記 著者 参考文献とか 変更履歴