<charconv>: Investigate the Eisel-Lemire ParseNumberF64 algorithm for from_chars()
Open
@StephanTLavavej is already working on this.
Since Feb 2, 2021.
performance
- Dominant language
- C++
- Stars
- 11.1k
- Forks
- 1.7k
- Avg merge
- 4d 15h
- Merged PRs (30d)
- 22
Description
- https://lemire.me/blog/2020/03/10/fast-float-parsing-in-practice/
- Repo: https://github.com/lemire/fast_double_parser (the Boost license is compatible with the STL)
- https://lemire.me/blog/2021/01/29/number-parsing-at-a-gigabyte-per-second/
- https://nigeltao.github.io/blog/2020/eisel-lemire.html
- https://nigeltao.github.io/blog/2020/parse-number-f64-simple.html
The current implementation of from_chars() that I originally shipped in VS 2017 15.8 (released Aug 2018) is a refined version of the UCRT's strtod() with no algorithmic improvements. (At the time I concluded, apparently correctly, that no substantially better algorithms were known, and the UCRT was the only practical option regarding licensing.)
Now that Future Technology 🛰️ is available, we can look into using it. (After finishing C++20!)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.