- Enabling Optimizations
- Whole Module Optimizations (WMO)
- Reducing Dynamic Dispatch
- Dynamic Dispatch
- Advice: Use 'final' when you know the declaration does not need to be overridden
- Advice: Use 'private' and 'fileprivate' when declaration does not need to be accessed outside of file
- Advice: If WMO is enabled, use 'internal' when a declaration does not need to be accessed outside of module
- Using Container Types Efficiently
- Advice: Use value types in Array
- Advice: Use ContiguousArray with reference types when NSArray bridging is unnecessary
- Advice: Use inplace mutation instead of object-reassignment
- Wrapping operations
- Advice: Use wrapping integer arithmetic when you can prove that overflow cannot occur
- Generics
- Advice: Put generic declarations in the same module where they are used
- The cost of large Swift values
- Advice: Use copy-on-write semantics for large values
- Unsafe code
- Advice: Use unmanaged references to avoid reference counting overhead
- Protocols
- Advice: Mark protocols that are only satisfied by classes as class-protocols
- The Cost of Let/Var when Captured by Escaping Closures
- Advice: Pass var as an inout if closure not actually escaping
- Unsupported Optimization Attributes
Lately we were hiring a lot of developers and had to integrate them in our team. So we decided to do an infotainment team event, targeting both: getting to know each other on a personal level and learning about the business and technical state, challenges and visions. Usually a meeting like this starts with everybody telling a few words about themselves... one... after... each... other... and after third speaker latest everybody gets bored. So we came up with the "Meme-Your-Colleague" game: Build teams of two persons Give them half an hour to get to know each other Both have to assemble a five minute presentation of five slides of each other Each slide consists of exactly one meme telling a (fun) fact of that person You may want to use a meme generator and a presentation tool like Keynote or PowerPoint. It ended up with the whole team having a lot of fun: a perfect ice breaker! Give it a shot!
Comments
Post a Comment