Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-04 23:46:38 |
|||
карма: 0 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Владд,
во-первых, вот это
|
|||
карма: 22 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
единственное, что можно сделать это убрать начальную загрузку строки в StrList, и сразу производить замену.
[size=-2]------ Добавлено в 13:59 nesco писал(а): во-первых, вот этоне надо. Обработать нужно изначально Unix строки и поэтому замена стоит верная. |
|||
карма: 27 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Dilma писал(а): Обработать нужно изначально Unix строки и поэтому замена стоит вернаяЕсли так, то да. Но так как в схеме -- нет. StrList добавляет #10#13, а к ним затем еще #13 добавляется. |
|||
карма: 22 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-04 23:46:38 |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Владд писал(а): Тормозит именно на обработке заменыДля строк в 3мб не удивительно. Быстрее замену сделать не получится. В данном случае по хорошему было бы заменить символ на и выдавать в поток после каждой замены указатель на строку, идущую до этого . К сожалению в данном пакете такое не возможно без использования InlineCode и знания Delphi |
|||
карма: 27 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-04 23:46:38 |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Владд, нельзя ли всетаки код вставлять в соответствующие теги?
Владд писал(а): А как насчёт этого ? такая схема пригодна только для небольших строк. Но даже в ней делается слишком много копирований, на которое уходит процессорное время. |
|||
карма: 27 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Владд писал(а): Например начать обработку 3 мб,то они будут обрабатыватся минут 5Чушь какая-то. У меня таблица в 3 mb грузится за 18 сек (в самом худшем варианте за 30). А таблица парисруется по столбцам и по содержимому гораздо сложнее, чем просто убирание символа #13. |
|||
карма: 22 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-04 23:46:38 |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
nesco писал(а): Чушь какая-то.nesco, а есть уверенность в наличие полного представления о происходящем в приденном примере, чтобы так лихо сравнивать производительность с чем-то |
|||
карма: 27 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Stream в руки - и с пестней
|
|||
карма: 1 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Dilma писал(а): а есть уверенность в наличие полного представления о происходящем в приденном примере, чтобы так лихо сравнивать производительность с чем-то Вообще-то большой уверенности нет, но и окультно заявлять о том, что виноват именно StrList, тоже чести не делает. Если убрать именно StrList'ы и проверить быстродействие, то насколько оно прибавится? Вот что по этому поводу пишет Кладов Кладов писал(а): Загрузка текста (например, из файла) в объект TStrList, или сохранение текста в файл или поток - это чрезвычайно быстрая операция, и выполняется мгновенно даже для мегабайтов и десятков мегабайт.[size=-2]------ Добавлено в 15:55 Влад писал(а): тут не убирание символа #13,А замена на #10#13 Вот похоже, это и тормозит -- именно компонент Replace. И без разницы для этого компонента, убрать или заменить. |
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Кладов не делает замен. Он нулики лепит в исходный текст и накапливает PChar-ы в List-е
Берешь, смотришь - и никаких фантазий. |
|||
карма: 9 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Galkov писал(а): Кладов не делает замен. Он нулики лепит в исходный текст и накапливает PChar-ы в List-е
Берешь, смотришь - и никаких фантазий Владд писал(а): Есть варианты модерницации StrList ? |
|||
карма: 22 |
|