Overview
Explore the inner workings of Swift 2 in this comprehensive conference talk from GOTO Berlin 2015. Delve into the history and motivations behind Swift's creation, comparing it to Objective-C and examining its compilation and execution processes. Learn about Swift's key features including modules, types, protocols, and memory optimization techniques. Discover the intricacies of static and dynamic dispatch, and gain insights into Swift's relationship with LLVM. Analyze the Swift compilation pipeline, intermediate representation (IR), and Swift Intermediate Language (SIL). Investigate name mangling, v-tables, and use the SIL Inspector tool for a deeper understanding. Evaluate Swift's performance and conclude with a summary of its advantages and potential future developments.
Syllabus
Introduction
About This Talk
Pre-history
A lot has changed...
CPU speed
Memory latency
Why Swift?
Modules
Types
Numeric values
Protocols
Memory optimisation
Static and Dynamic?
Static Dispatch
objc_msgSend
Optimisations
Whole Module Optimisation
Swift and LLVM
Swift compile pipeline
Example C based IR
Advantages of IR
Example Swift based IR
Swift Name Mangling
Swift Intermediate Language
Swift v Tables
SIL Inspector
Is Swift swift yet?
Summary
Taught by
GOTO Conferences