<i>Wasn’t the old stuff good enough? Why do we need new methods? In short: because from_chars is low-level, and offers the best possible performance.</i><p>That sounds like marketing BS, especially when most likely these functions just call into or are implemented nearly identically to the old C functions which are already going to "offers the best possible performance".<p><i>I did some benchmarks, and the new routines are blazing fast![...]around 4.5x faster than stoi, 2.2x faster than atoi and almost 50x faster than istringstream</i><p>Are you sure that wasn't because the compiler decided to optimise away the function directly? I can believe it being faster than istringstream, since that has a ton of additional overhead.<p>After all, the source is here if you want to look into the horse's mouth:<p><a href="https://raw.githubusercontent.com/gcc-mirror/gcc/master/libstdc%2B%2B-v3/include/std/charconv" rel="nofollow">https://raw.githubusercontent.com/gcc-mirror/gcc/master/libs...</a><p>Not surprisingly, under all those layers of abstraction-hell, there's just a regular accumulation loop.