поправил, опубликовал
https://github.com/mazzy-ax/SysStrin...435f4504628ad9
спасибо.
Цитата:
Сообщение от
belugin
Я бы сначала отпрофилировал, потом бы начал оптимизировать. Возможно, на типичной нагрузке для этого метода еще одно копирование пофиг.
профилировал.
копирование здесь единственное.
тут такое соображение:
1. в аргументе текст из textBuffer
2. если textBuffer приходит одним сегментом, то пофиг. Беспокоит только память на промежуточный буфер.
3. если же textBuffer долго и упорно собирали из кусков кода, то в строке 195 будет достаточно долго собираться один сегмент в промежуточном буфере. И память опять же.
Другими словами, проблема не столько в копировании.
Сколько в том, что в этом месте textBuffer должен будет объединить ВСЕ сегменты текста. хотя теоретически этого можно и не делать, если б метод changeIdent умел работать с позицями начала и конца. Но с позициями он у меня получается слишком сложным и неустойчивым.
Цитата:
Сообщение от
belugin
Тогда ИМХО либо не наследник либо не статические методы (все, которые получают экземпляр SysText).
Вот-вот. В этом и вопрос. Я решил, что статические. Но...