История изменений
Исправление KennyMinigun, (текущая версия) :
К сожалению std::string
слишком тяжелый (даже с оптимизацией для «малых» строк): он делает аллокацию, а у меня NumericStringView
будет ну очень часто дергаться (составление XML ответа). Класс NumericStringView
создан чтоб не использовать std::to_string
(опять же — пример очень упрощен, чтоб не читать простыню и работал).
Грубо говоря, NumericStringView
— 30 байтов «прикрепленные» к std::string_view
. И размещатся оно все будет на стеке.
Конечно была еще опция кастомного аллокатора для std::string
, но оказалось, что в std::to_string
не хватает некоторых нюансов. Вышло, что использовать std::string
вообще нет смысла.
Исходная версия KennyMinigun, :
К сожалению std::string слишком тяжелый (даже с оптимизацией для «малых» строк): он делает аллокацию, а у меня NumericStringView будет ну очень часто дергаться (состваление XML ответа). Класс NumericStringView создан чтоб не использовать std::to_string (опять же — пример очень упрощен, чтоб влез).
Грубо говоря, NumericStringView — 30 байтов «прикрепленные» к std::string_view. И размещатся оно все будет на стеке.
Конечно была еще опция кастомного аллокатора для std::string, но оказалось, что в std::to_string не хватает некоторых нюансов. Вышло, что использовать std::string вообще нет смысла.