filmov
tv
Иван Афанасьев — std::to_string faster than light

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