https://github.com/pdimov/variant2/blob/develop/benchmark/benchmark1.md
These are very interesting and useful, thank you. I now have hard evidence with which to persuade people at work that Boost.Variant needs to be purged from our latency critical paths.
Do read my follow-up message as well though. With -DBOOST_VARIANT_VISITATION_UNROLLING_LIMIT=1, boost::variant performs very well. (And even as-is, it also performs well with a more recent g++ (8 or 9) than my 7.4.)
Oh you've already won a conditional acceptance vote from me no doubt. My sole condition for acceptance is (you guessed it) propagation of triviality of all special functions. I also think after you're into Boost you should submit some more papers to WG21 asking them to change the standard library to match your changes to Boost. std::variant should be your variant2. I don't think anybody on boost-dev would disagree with that. I'll be physically attending the next four WG21 meetings. I intend to be in the room to argue strongly in favour of your papers on this topic. Even if it mildly breaks a small proportion of pre-C++23 code. Niall