-
-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate faster performance than upstream implementation #35
Comments
I've bisected it and found the culprit (ulfjack/ryu@b94f5d0), apparently they changed the default benchmark mode from "classic" to "inverted". To use the classic mode you need to add -classic to the options, such as
I personally see 3 options:
|
The justification for taking the formerly-"inverted" mode as the default is compelling -- it hits realistic branch misprediction characteristics. I would accept a PR to implement both modes (matching upstream) and require opt-in for "classic" mode (matching upstream). |
As observed in #34 (comment), the 32-bit and 64-bit float-to-string benchmark in this repo is something like 40% faster than the exact same benchmark in https://github.com/ulfjack/ryu. We need to examine whether there is any inadvertent discrepancy between the two benchmarks, difference in build configuration, or any toolchain difference that would account for this. The code is a line-by-line transliteration so there should really be no performance difference, and certainly not this big.
The text was updated successfully, but these errors were encountered: