Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2017, 09:48   #1
darkwellroad
Пользователь
 
Регистрация: 01.09.2013
Сообщений: 83
Вопрос Загрузка больших текстовых файлов в массив и сверка

Всем привет: Имеем:

Два текстовых файла размером примерно по 100MB каждый. Каждый имеет вид:

Код:
0685e61279875c8382756fe417ef0ccb
ae44b292b390f89a7a34356b906445dc
38980969f3a57013b56a446445de8970
caec89367392cd2eefd1c099f1197e01
Решил задачу через сортировку файла через TStringList, поиск совпадений через Find с последующей передачей не совпадающих строк в отдельный TStringList. Все работает, но уходит огромное количество времени.

Можно как то решить задачу быстрее? Думаю насчет массивов. Заранее спасибо

Последний раз редактировалось darkwellroad; 15.10.2017 в 09:51.
darkwellroad вне форума Ответить с цитированием
Старый 15.10.2017, 09:52   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так сделать-то что надо? Если проверять находится ли какая-то строка в этом списке, то hash set. Если современная Дельфи, то должен быть стандартный.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 15.10.2017, 09:55   #3
darkwellroad
Пользователь
 
Регистрация: 01.09.2013
Сообщений: 83
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так сделать-то что надо? Если проверять находится ли какая-то строка в этом списке, то hash set. Если современная Дельфи, то должен быть стандартный.
Найти строки в одном массиве, которых нет в другом. Попробую
darkwellroad вне форума Ответить с цитированием
Старый 15.10.2017, 10:12   #4
dummy_user
Форумчанин
 
Аватар для dummy_user
 
Регистрация: 02.03.2013
Сообщений: 109
По умолчанию

Может ещё многопоточность поможет.
dummy_user вне форума Ответить с цитированием
Старый 15.10.2017, 15:06   #5
darkwellroad
Пользователь
 
Регистрация: 01.09.2013
Сообщений: 83
По умолчанию

Решил через стороннюю библиотеку. Скорость заметно выросла.. Только вот вопрос.. Как можно считать из текстового файла в TStringArray? Ну кроме TStringList и eof конечно. И что будет быстрее?
darkwellroad вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на обработку файлов с данными, списков и текстовых файлов Диана96 Помощь студентам 1 26.12.2013 12:09
Загрузка больших файлов Rita26 JavaScript, Ajax 2 09.08.2012 11:23
Загрузка больших файлов Rita26 Общие вопросы .NET 0 23.07.2012 14:47
Быстрый поиск в больших текстовых файлах RIO Общие вопросы Delphi 6 29.04.2011 15:46
Открытие больших текстовых файлов sht0p0r Помощь студентам 4 16.12.2008 12:42