qnd-integer-parsing-experiments
qnd-integer-parsing-experiments copied to clipboard
Add experimental support for avx simd for parsing a complete uint64
Just adding this for the sake of tracking it.
Using the avx simd instruction set will allow us to parse a full uint64. Things to keep in mind:
- how should we handle > uint64 strings?
Good question about how to handle > uint64 strings. If we look at APIs like charconv they have an error code for overflow. So if a user asks to parse uint64 and the result does not fit, then we just return value_too_large from https://en.cppreference.com/w/cpp/error/errc. Maybe in general we can support parsing 128bit or values too.