Догнать и перегнать boost::lexical_cast или быстрое преобразование целого числа в строку

Роман Орлов

Backend-разработчик системы документооборота и электронной отчетности СБИС (Компания "Тензор", г. Ярославль)


Из документации к библиотеке Boost Lexical cast известно, что преобразование целого числа в строку lexical_cast выполняет быстрее других стандартных средств. Можно ли написать более быстрый алгоритм с не меньшей степенью обобщенности?

В докладе будет рассмотрена реализация такого алгоритма, который на синтетических тестах опережает lexical_cast в 2-5 раз в зависимости от компилятора и флагов оптимизации. Особенность реализации состоит в отсутствии циклов и рекурсивных вызовов времени исполнения - только рекурсия на этапе компиляции. Также будут затронуты особенности компиляции предлагаемого решения на Сlang и GCC.

Gold спонсоры

Silver спонсоры

Community спонсоры