Stephan T. Lavavej
Stephan T. Lavavej
Also see https://github.com/jk-jeon/dragonbox .
39KB is indeed amazing. Unfortunately I'm very busy at the moment trying to help finish our C++20 implementation before the end of 2020 - but if you haven't already, I...
@jk-jeon posted a new algorithm today, further improving table sizes: https://jk-jeon.github.io/posts/2022/12/fixed-precision-formatting/ and source code at https://github.com/jk-jeon/floff . Thanks again! :heart_eyes_cat: (Commenting here so I'll remember this when I find time...
Commenting for future investigation: Cassio Neri has announced a new algorithm called 'teju', see https://schedule.cppnow.org/session/a-new-dragon-in-the-den-fast-conversion-from-floating-point-numbers/ and slides at https://schedule.cppnow.org/wp-content/uploads/2024/02/a-new-dragon-in-the-den.pdf . It's almost exactly 2x faster than Ryu, with table size...
Great catch! We should be careful to avoid regressing perf for non-vectorized scenarios here.
We talked about this at the weekly maintainer meeting, although @CaseyCarter was out sick so our analysis powers were limited. This was introduced by #329. Switching ugly `_Iter_value_t` to be...
I pushed changes to address the issues that I found, but I still need to think about whether we should be vectorizing this at all. I'm leaning towards ripping out...
Ok, after looking at the benchmarks, I've taken the radical step of reverting both the vectorization changes *and* the existing `memcmp` "optimizations" that were massively pessimizing your reasonable benchmark example....
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed.
Thanks for investigating and improving the performance here even if the final result was very different from the initial vision! :crystal_ball: :magic_wand: :rocket: