FastDoubleParser
FastDoubleParser copied to clipboard
A Java port of Daniel Lemire's fast_float project
Nowadays there are used universal methods for digits conversion reused many times in the project. They uses trick `(char) (c - '0') < 10`, but it is slower than classic...
Optimization done using trivial trick reusing results two additions. Surprisingly it is slower than use strict equation. It become more performant about 10% after reduction of number of instances ComplexVector()....
Common hexadecimal lookup for conversion pair of characters from text representation to number is about 15% faster for both `byte` and `char` variants. The gain was probably achieved by reduced...
Benchmark of already merged solution by [a67caba](https://github.com/wrandelshofer/FastDoubleParser/commit/a67caba534d5bd7eab05e02220da746da8d99db7) and the proposed one included.
It is up to 10% more performant to multiply by power of 5 and then shift left than multiplying directly by power of 10 for some bit ranges when used...
Caching FFT of powers of ten improves performance as they can be reused during computation. Some memory is wasted as the cache is permanent, but the same situation stands with...
Computation part of roots of unity from corresponding roots of lower degree improves performance as it avoids the time expensive computation of trigonometric function - performance gain also for degrees...
If it is equal, it can be set to zero as mask used afterwards clears the most significant bit. The code construct seems to me a bit strange, the affected...
Call more dedicated method for iterative parsing for better explicitness and to avoid double checks for size limits.
Optimization of FFT3 method done in that ways: 1. Different way of computing FFT elements indexes. 2. Reordering commands in various way - this seems to be very unpredictable behavior....