Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Embarcadero RAD Studio c++Builder AnsiString Insert оч медле

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

alex_dorin

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Embarcadero RAD Studio c++Builder x64
 
AnsiString s2;
AnsiString s20;
 
....
 
s20=s2.Insert(";",1);
 
при размере s2 несколько мегабайт очень медленно выполняется.
Вообще при размерах єкземпляров AnsiString Insert очень медленно выполняется.
Как ускорить ?
 
alex_dorin@rambler.ru
 

Всего записей: 8 | Зарегистр. 21-02-2013 | Отправлено: 16:34 09-12-2014
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вставка символа ведет к копированию части строки после него на один байт правее, т.е. чем длиннее строка - тем больше данных и медленнее копирование. Если у тебя выполняется циклическая обработка со постоянной вставкой, то разумнее завести рядом вторую строку и копировать маленькие кусочки в нее.
 

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 16:52 09-12-2014
SuPriTo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Как ускорить ?  

Разбить на части. Например, воспользоваться TStringList. И работать не со всей стройкой, а с ее частью.

Всего записей: 1477 | Зарегистр. 24-03-2009 | Отправлено: 18:34 09-12-2014
alex_dorin

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Embarcadero RAD Studio c++Builder x64  работает с AnsiString   Insert
хорошо.  Причина замедления оказалась в очень большом количестве таких операций.
Так ,что с компилятором проблем нет.

Всего записей: 8 | Зарегистр. 21-02-2013 | Отправлено: 11:00 10-12-2014
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Так ,что с компилятором проблем нет

ну, нет предела совершенству, не зря же проект FastCode существует

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 11:15 10-12-2014
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Embarcadero RAD Studio c++Builder AnsiString Insert оч медле


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru