qnd-integer-parsing-experiments icon indicating copy to clipboard operation
qnd-integer-parsing-experiments copied to clipboard

Add experimental support for avx simd for parsing a complete uint64

Open stevenhoving opened this issue 5 years ago • 1 comments

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?

stevenhoving avatar Jun 13 '20 16:06 stevenhoving

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.

KholdStare avatar Jun 13 '20 19:06 KholdStare