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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2015, 06:25   #11
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Ну вот. И без всяких ...
Вот от хэша толкт есть. Остальное фуфел.
И зачем я только удалял строки? Их же надо было просто не записывать.
Вложения
Тип файла: zip Сравнение 2х файлов v5.0.zip (58.1 Кб, 7 просмотров)
Sibedir вне форума Ответить с цитированием
Старый 06.03.2015, 07:34   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
У мсье безлимитная оперативная память?
У мсье 6Гб и отличный скоросной винт на сервере
А вообще задача так стояла. Изначально предполагалась БД, но от нее отказались в пользу текстовиков.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.03.2015, 10:54   #13
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
И отстает?
Код:
  xList1:=TStringList.Create;
  xList2:=TStringList.Create;
  xList3:=TStringList.Create;
  xList1.Sorted:=True;
  xList1.LoadFromFile(ExtractFilePath (Application.ExeName) + '1.txt');
  xList2.LoadFromFile(ExtractFilePath (Application.ExeName) + '2.txt');
  for i:=0 to xList2.Count-1 do
    if not xList1.Find(xList2.Strings[i],j) then xList3.Add(xList2.Strings[i]);
Ну да, да... понял уже.
Дальше можно ускорять, но надо ли. Эт только если действительно речь идет о Гигабайтах и постояной (не разовой) работе.


Всё. Хорошь пока.
Сравнение 2х файлов v6.0.zip
На моей машине "Вотэдакий" способ имеет преимущества аж до ~120000 строк (файлы в 10 МБ). При скорости выполнения в 1 сек даже полуторократное ускорение (аж на 0,5 сек быстрее) по сравнению с обычным методом не даёт сколько-нибудь ощутимого преимущества. А при больших объемах так и вообще сильно отстаёт (при 40 МБ-ых файлах (~ по 500000 строк) в 2 раза). Придётся мне теперь менеджер памяти оптимизировать

Если файл с исключаемыми строками маленький, то "Вотэдакий" способ имеет пару маленьких плюсов. А ежели файл с исключаемыми строками большой, а исследуемый маленький, то плюсы значительно увеличиваются. Но, думаю, и здесь несколько переиначив алгоритм (например ч/з удаление малого кол-ва ненужных строк) с TStringList, можно добиться производительности. И, если работа предстоит большая, то перед началом анализировать размеры и содержимое файлов и выбирать соответствующий алгоритм.
Спасибо за внимание. У меня всё

Последний раз редактировалось Sibedir; 06.03.2015 в 10:57.
Sibedir вне форума Ответить с цитированием
Старый 06.03.2015, 12:17   #14
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

а стандартный поиск чем не устроил?
Items.indexOf(''); если есть строка в списке то вернёт номер если нет то вернёт -1.
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение файлов SVadiks Помощь студентам 7 18.02.2010 21:55
Сравнение файлов jkpro Общие вопросы Delphi 6 05.10.2009 08:57
Сравнение файлов WPROF Общие вопросы Delphi 2 24.08.2009 00:19
Сравнение 2 файлов ForzaJuve Общие вопросы Delphi 9 09.06.2009 23:34
Сравнение 2-х файлов asale Microsoft Office Excel 17 03.06.2007 15:58