Davide Italiano retweeted
Interested in how libraries impact an app’s size & performance? And what you can do to improve it? Meet mergeable libraries in this #WWDC23 session!
developer.apple.com/videos/p…
Davide Italiano retweeted
The new linker in Xcode 15 lives up to the hype! ~6s -> ~1.5s for our largest target.
Davide Italiano retweeted
Replying to @davidecci
When Venkatadri Seshadri and I presented on concurrent compilation in 1987 at IFIP/Distributed Processing, there was very little published. We focussed on low-hanging fruit at the front-end of the pipeline. Wonderful to see concurrency make it all the way through to the linker.
Davide Italiano retweeted
Who knew, static linking still hot 💪
For folks interested in using mergeable libraries, the following documentation should help to get you started: developer.apple.com/document…
Join the labs to provide feedback and ask questions!
If you're interested in hearing more, join the lab and watch @CyndyIshida's session, available on Wednesday.
developer.apple.com/videos/p…
Modularity of iOS codebases is still non-trivial at scale. We need more updates like this one. Sounds promising! 🤩 #WWDC23
Davide Italiano retweeted
Hope everyone enjoyed the SOTU presentation! We have an brand new linker this year, and some really cool new features like mergeable libraries. There is a session on Wednesday, and team members will be in labs throughout the week. developer.apple.com/wwdc23/1… #WWDC23
I consider myself fortunate enough to have had the opportunity to support these two projects, both of which were successfully developed by an exceptional small team of individuals.
My team also worked on a new library format: mergeable libraries. Mergeable libraries combine the benefits of static and dynamic libraries, providing the best performance without sacrificing development velocity. (1/n)
Mergeable libraries are dynamic libraries plus metadata that allow the static linker to perform a relinking step. At the core lies the concept that the metadata hold sufficient information to reconstruct the original object files.
Today at WWDC we introduced a new static linker. It is a ground-up rewrite that’s up to 5x faster than ld64. The new linker is written with multicore in mind, and it’s the first production ready parallel linker officially supported for iOS development. (1/n)
When designing the new linker, we decided to go all-in. Every single operation is now performed in a parallel fashion. From symbol resolution to building linker metadata structures (debug notes, fixups, export trie etc.).











