- 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
The subscription durations, sandbox durations and incentive durations of auto-renewables. Hint: In Sandbox the validity time differs from live environment!!!
Durations Sandbox Duration Incentive Durations (optional)
7 days 3 minutes 7 days
1 month 5 minutes 7 days, 1 month
2 months 10 minutes 7 days, 1 month
3 months 15 minutes 1 month
6 months 30 minutes 1 month, 2 months
1 year 1 hour 1 month, 2 months, 3 months
After 6 extensions the abo is cancelled automatically in the sandbox environment.
Comments
Post a Comment