Stephan T. Lavavej “Floating-Point <charconv>: Making Your Code 10x Faster With C++17's Final Boss”

CppCon3 HN recommenders · 2020–2022
41K views · talk · evergreen · Uploaded 2019-10-11

Stephan T. Lavavej's CppCon 2019 talk on implementing floating-point to_chars and from_chars in Microsoft's C++ STL. It covers the history of float-string conversion and the algorithms that make it much faster.

HN calls it a surprisingly fun, approachable talk on a hard problem and cites it in floating-point threads.

Watch on YouTube

5 comments from Hacker News

@osolo2020 · in “Parsing floats in C++: benchmarking strtod vs. from_chars”

For those interested in more information about performance was achieved, Stephan Lavavej gave a talk about this very subject during CppCon 2019 [1]. [1] [VIDEO]

RecommendsView on HN
@ygra2020 · in “Floating Point in the Browser, Part 1: Impossible Expectations”

Actually, there's even more recent research into doing this really efficiently, using an algorithm called Ryū. [e] [LINK] [-4] [LINK] [1.73] [VIDEO]

@ygra2020 · in “Rendering floating numbers: advances in problems you didn’t know you had (2011)”

Stephan T Lavavej also had a surprisingly fun and approachable talk on that problem, talking about how charconv got implemented and improved in Microsoft's C++ standard library: [VIDEO]

RecommendsView on HN
@Forricide2022 · in “C++20, How Hard Could It Be”

I really love this talk in particular: [VIDEO] (On charconv) But any of the ones I've seen from Stephan have been fantastic, I think, although I'm not actually sure if I've seen more. He seems to have a lot of talks on very specific subjects, which can be really fun. > Hyrum Wright is in the audience yelling interjections as a result of Hyrum's law This sounds absolutely hilarious, I'll have to take a look.

Strongly recommendsView on HN
@StephanTLavavej2022 · in “C++20, How Hard Could It Be”

I'm glad you liked my charconv talk! Here's a complete list of my recorded conference talks: BoostCon/C++Now 2012: Regex In C++11 And Boost: [LINK] GoingNative 2012: STL11: Magic && Secrets: [LINK] GoingNative 2013: Don't Help The Compiler: [LINK] GoingNative 2013: rand() Considered Harmful: [LINK] CppCon 2014: STL Features And Implementation Techniques: [LINK] CppCon 2015: functional: What's New, And Proper Usage: [LINK] CppCon 2016: tuple: What's New, And How It Works: [LINK] CppCon 2018: Class Template Argument Deduction for Everyone: [LINK] CppCon 2019: Floating-Point charconv: Making Your Code 10x Faster With C++17's Final Boss: [VIDEO] CppCon 2020: C++20 STL Features: 1 Year of Development on GitHub: [LINK] Pure Virtual C++ 2022: MSVC C++20/23 Update: [LINK]