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

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ส.ค. 2024
  • Swift ABI Resilience - Victor Ciura - Meeting C++ 2023
    Slides: slides.meeting...
    Survey: survey.meeting...
    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
    @Roibarkan 7 หลายเดือนก่อน

    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
    @Roibarkan 7 หลายเดือนก่อน

    37:56 Doug Gregor’s talk: th-cam.com/video/MgPBetJWkmc/w-d-xo.html