
Иван Афанасьев
Компания: Align Technology
Доклад — рассказ про историю одного PR в libc++ LLVM.
Одна скромная попытка ускорить std::to_string для целых в стандартной библиотеке выросла в целое исследование с разбором требований и реализаций различных способов форматирования чисел в С++.
Разберём начальную реализацию std::to_string, какими способами можно её улучшить.
Рассмотрим три последовательных итерации по ускорению std::to_string: оптимизация аллокаций, переход от sprintf к наивному алгоритму делениями и std::to_chars.
Запрофилируем каждый из вариантов, объясним результаты и посмотрим, какие трюки используются для быстрого форматирования чисел.
Компания: Align Technology
Компания: Tarantool Core Team