LINUX.ORG.RU

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

Исправление witaway, (текущая версия) :

Код можно значительно улучшить (считайте, это MVP алгоритма), но я уже очень сильно устал:

  1. Устранить кое-какие протечки памяти.
  2. Хранить спаны и вектора спанстрингов не на стеке, а в куче. Тогда, уверен, можно значительно ускорить работу засчёт избежания копирования.
  3. Сэкономить время на выделение памяти использовав арена-аллокатор.
  4. Всё собрать в какой-нибудь удобный класс типа StringExpander
  5. Превратить SpanString в какой-нибудь удобный класс. Чтобы собирать из них строки не вручную. К тому же, можно придумать оператор обращения по индексу использовав бинарный поиск.
  6. Можно использовать std::span и ничего не поломается.
  7. Да и вообще всё это безобразие надо привести в нормальный вид, подшлифовать, что ли…

Исправление witaway, :

Код можно значительно улучшить (считайте, это MVP алгоритма), но я уже очень сильно устал:

  1. Устранить кое-какие протечки памяти.
  2. Хранить спаны и вектора спанстрингов не на стеке, а в куче. Тогда, уверен, можно значительно ускорить работу засчёт избежания копирования.
  3. Сэкономить время на выделение памяти использовав арена-аллокатор.
  4. Всё собрать в какой-нибудь удобный класс типа StringExpander
  5. Превратить SpanString в какой-нибудь удобный класс. Чтобы собирать из них строки не вручную. К тому же, можно придумать оператор обращения по индексу использовав бинарный поиск.
  6. Можно использовать std::span и ничего не поломается.

Исходная версия witaway, :

Код можно значительно улучшить, но я уже заебался:

  1. Устранить кое-какие протечки памяти.
  2. Хранить спаны и вектора спанстрингов не на стеке, а в куче. Тогда, уверен, можно значительно ускорить работу засчёт избежания копирования.
  3. Сэкономить время на выделение памяти использовав арена-аллокатор.
  4. Всё собрать в какой-нибудь удобный класс типа StringExpander
  5. Превратить SpanString в какой-нибудь удобный класс. Чтобы собирать из них строки не вручную. К тому же, можно придумать оператор обращения по индексу использовав бинарный поиск.