How Swift Achieved Dynamic Linking Where Rust Couldn't A look at what's required to ship a dynamically linked system interface, the most interesting parts of Swift's stabilized ABI, and their incredibly ambitious resilient library evolution system https://gankra.github.io/blah/swift-abi/
-
-
IIRC switching to monomorphization actually *reduced* code size by quite a bit. Though the biggest reason was just performance: we couldn’t get type descriptor overhead below 20% of the program runtime or so, which was unacceptable.
-
My final attempt to save tydescs was actually to compress addref/release/etc code into a generic interpreter that could parse an abstract description of the type. This reduced code size/compile time a lot but brought the overhead of tydescs to ~30% IIRC (could be misremembering).
- 4 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.