LINUX.ORG.RU

История изменений

Исправление 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 вообще нет смысла.