Swift ABI Resilience - Victor Ciura - Meeting C++ 2023

Ғылым және технология

Swift ABI Resilience - Victor Ciura - Meeting C++ 2023
Slides: slides.meetingcpp.com
Survey: survey.meetingcpp.com
No, this is not an "ABI - Now or Never" talk. What happens in Prague, stays in Prague :) But wg21.link/P1863 will probably come up in the discussions, so we might as well prepare for it.
We're taking a different route, by following the design and evolution of the Swift ABI model and seeing what we can learn from it. From ABI stability & dynamic linking to designing for ABI resilience - a journey through resilient type layout, reabstraction & materialization, resilience in library evolution and (opt-out) performance costs.
What can we learn from Swift's ABI resilience? Can C++ be liberated from the ABI conundrum?

Пікірлер: 2

  • @Roibarkan
    @Roibarkan4 ай бұрын

    Great talk, as I normally expect from Victor Ciura!!! 34:43 I think outlining can be important the more people use templates and strong-typedefs. For example std::lower_bound instantiated on “vector::iterator and std::less” will likely have the same asm as when instantiated on “vector::const_iterator and std::less”, and probably also on std::chrono::duration are used (where int is the representation). Another place where I’ve seen people ’outline’ is to try and force some code out of an icache (where people also use [[unlikely]]). Sometimes “immediately invoked lambda expressions” can be used to hint to a compiler to outline some code.

  • @Roibarkan
    @Roibarkan4 ай бұрын

    37:56 Doug Gregor’s talk: kzread.info/dash/bejne/f5uEpMeterrRncY.html

Келесі