Remix.run Logo
delta_p_delta_x 2 hours ago

> A truly zero-cost abstraction

Sadly the MSVC ABI makes std::span and std::string_view a pessimisation:

https://github.com/tringi/win64_abi_call_overhead_benchmark

https://godbolt.org/z/7baaox7re

usrnm an hour ago | parent [-]

Sounds like a compiler bug to me. It is a valid reason to avoid them in some rare cases right now, but it doesn't make the feature itself bad

j16sdiz an hour ago | parent [-]

Those are ABI. Unless it is inlining them, the overhead is to stay.

usrnm 2 minutes ago | parent [-]

ABI changes do happen. gcc had an ABI change in std::string because of C++11. It was long and painful, but everyone survived, the world did not end