Работа с файлами, помогите выстраить логику

russya

Client
Регистрация
08.07.2014
Сообщения
719
Благодарностей
77
Баллы
28
Всем привет! помогите с логикой.
Есть 2 файла, в одном 100к строк, во втором 300к строк
Я 2 файла подвязал к списку зенно.
Берется с первого файла первая строка и цикл идет по второму файлу и смотряться совпадения.
Если нашли совпадения, то берем эту строку с удалением и записываем в файл гуд и завершаем проект.

Когда запускаю в 40-50 потоков очень начинает виснуть комп, вроде работа только с файлами, но не српавляется мой комп.
Может посоветуете как изменить логику? чтобы работало быстрее все
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113

russya

Client
Регистрация
08.07.2014
Сообщения
719
Благодарностей
77
Баллы
28

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
сам не сталкивался, но вот многие посоветуют на базу данных перейти.
была вроде подобная тема уже. там на мелкие файлы дробили. вроде чуток получше было.
 
  • Спасибо
Реакции: russya

russya

Client
Регистрация
08.07.2014
Сообщения
719
Благодарностей
77
Баллы
28
сам не сталкивался, но вот многие посоветуют на базу данных перейти.
была вроде подобная тема уже. там на мелкие файлы дробили. вроде чуток получше было.
Тоже про это думал. Думаю может на мелкие файлы дробить, но тогда тоже не удобно. Если не нашли в первом файле совпадений, то нужно к списку второй файл подвязывать и т.д. Из-за этого время работы увеличиться как мне кажется
 

SergSh

Client
Регистрация
10.05.2017
Сообщения
541
Благодарностей
395
Баллы
63
можно по конкретней по задаче?
почему в многопотоке работа с файлами?
проверка строк на равенство или вхождение одной в другую?
обязательно удалять строку?
 
  • Спасибо
Реакции: russya

russya

Client
Регистрация
08.07.2014
Сообщения
719
Благодарностей
77
Баллы
28
можно по конкретней по задаче?
почему в многопотоке работа с файлами?
проверка строк на равенство или вхождение одной в другую?
обязательно удалять строку?
В многопотоке т.к. чтобы быстрее было.
Вхождение одной строки в другую.
Беру строку с удалением, если это строка входит в строку со второго файла, то кладу в гуд, если нет то в Бэд и удаляю строку ещё эту с второго файла, это если есть вхождение в строку.
 

SergSh

Client
Регистрация
10.05.2017
Сообщения
541
Благодарностей
395
Баллы
63
Беру строку с удалением, если это строка входит в строку со второго файла, то кладу в гуд, если нет то в Бэд и удаляю строку ещё эту с второго файла, это если есть вхождение в строку.
не совсем понятно какую строку из какого файла искать и какую класть в список гуд
 

TwistDanceR

Активный пользователь
Регистрация
30.05.2019
Сообщения
479
Благодарностей
200
Баллы
43
В многопотоке т.к. чтобы быстрее было.
Вхождение одной строки в другую.
Беру строку с удалением, если это строка входит в строку со второго файла, то кладу в гуд, если нет то в Бэд и удаляю строку ещё эту с второго файла, это если есть вхождение в строку.
Есть функция на C# для листов list1.Except(list2); Могу помочь. Напиши в телегу по никнейму. У меня сравнение 1.2млн урлов так происходит.
 
  • Спасибо
Реакции: russya

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)