0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 13
|
||||||
1 | ||||||
Ускорение процесса Tstringlist09.06.2017, 17:20. Показов 3352. Ответов 46
Метки нет (Все метки)
Доброго времени суток. С ув обращаюсь с просьбой помочь разобраться, как ускорить процесс при чтении нескольких файлов.
Так чтобы кратко, то существует файл temps.txt который я предварительно разбиваю на 12 частей. Файл весит около 50 мб из которого c помощью RegExpr я делаю сортировку. Если использовать файл целиком, то по мере выполнения процесса, чем ближе к концу выполнения операции, тем медленнее. Поэтому подумал о том, что не плохо будет, если необходимый файл предварительно разбить на части и работать уже с мелким размером, что должно ускорить процесс. Написал небольшую процедуру, все требуемые операции выполняются как надо, за исключением скорости, с которой проблема так и не решилась. Прилагаю код с просьбой подсказать может что не так или-же всё задуманное можно осуществить каким-то более простым решением, слышал кое что о массивах в стринглисте, может копать в эту сторону, но с подобным не сталкивался. Для информации, разбиваемый файл содержит в себе более 100к строк, а время на выполнение учитывая железо составляет около 8 секунд.
0
|
09.06.2017, 17:20 | |
Ответы с готовыми решениями:
46
Зашифровать TStringList, сохранить, прочитать, получить исходный TStringList Неясности с TStringList. Как найти наибольший элемент в TStringList? TStringList TStringList |
3586 / 2195 / 693
Регистрация: 29.05.2013
Сообщений: 9,377
|
|
15.06.2017, 18:03 | 42 |
Вот интересно вы рассуждаете. На форум вы выкладываете совершенно левый файл данных, который к исходной задаче не имеет отношения, а от нас ожидаете правильного решения. Вот я писал чуть ранее и пока не получил ответа.
0
|
15.06.2017, 18:25 | 43 | |||||
Я уже излагал идею разделения индексов строк между потоками, в этом случае не нужно делить сам файла на мелкие файлы
Добавлено через 11 минут Имеем гигантских размеров файл. Загружаем файл в TStringList; Создаем в отдельном модуле поток. В нем описываем все алгоритмы обработки строк далее из главного модуля делаем так
HPing не обращайте внимание на имя переменной, выдрал из своего проекта, Пингую сервера в потоках... Добавлено через 6 минут То есть мы создаем порции содержащие строки и кормим наши потоки... Добавлено через 1 минуту и на HPing.Host := IpListingForm.IpListMemo.Lines.Strings[i]; это тоже не смотрите...
1
|
3586 / 2195 / 693
Регистрация: 29.05.2013
Сообщений: 9,377
|
||||||
15.06.2017, 19:33 | 44 | |||||
2
|
3586 / 2195 / 693
Регистрация: 29.05.2013
Сообщений: 9,377
|
|
15.06.2017, 19:49 | 47 |
Интересный класс, как-то не сталкивался ранее. Но на первый взгляд существенно сложнее в работе чем AssignFile. Надо будет попробовать.
0
|
15.06.2017, 19:49 | |
15.06.2017, 19:49 | |
Помогаю со студенческими работами здесь
47
Tstringlist TStringList TStringList TStringList Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |