List<string> bad = project.Lists["стоплист"].ToList();//стопслова
List<string> mix = project.Lists["все в куче"].ToList();//потенциальные счастливцы
var good =project.Lists["листсчастья и печенек"];//те, кото будем осчастливливать точно
List<string> kostyl = new List<string>();//важный элемент индусского кода
//блок очень сложного индусского кода
kostyl=mix.Except(bad).ToList();
foreach(string data in kostyl)
{good.Add(data);}
Медленно, очень медленно, но спасибо!Попробовать этот код. Не знаю справится ли с таким объемом, но в 10 раз меньше вполне быстро выполняет. А перебором, наверное, в любом случае долго будет.
C#:List<string> bad = project.Lists["стоплист"].ToList();//стопслова List<string> mix = project.Lists["все в куче"].ToList();//потенциальные счастливцы var good =project.Lists["листсчастья и печенек"];//те, кото будем осчастливливать точно List<string> kostyl = new List<string>();//важный элемент индусского кода //блок очень сложного индусского кода kostyl=mix.Except(bad).ToList(); foreach(string data in kostyl) {good.Add(data);}
А дальше что? Ну допустим есть строка из списка 2 в списке 1, что с ней сделать то надо?Есть два списка.
Список 1 имеет размер более 1Гб
Список 2 размером 800Мб
Задача взять строку из списка 2 и проверить есть ли такая строка в списке 1.
Как это дело организовать, что бы работало быстро?
дальше если есть совпадение я сохраняю строку, с логикой нет проблем, проблема скорость чтения (сравнения, поиска)А дальше что? Ну допустим есть строка из списка 2 в списке 1, что с ней сделать то надо?
Погуглил, очень интересное решение но где скачать так и не нашел, ссылки битые или сайтов ваще уже не существует.если надо сравнить два файла, то Text Utils Pack делает это с большими файлами, а Arhivar с ТБ файлами работает.
в PM медленно?Медленно, очень медленно, но спасибо!
в ZP и PM запускал примерно 4-5 секунд одино сравнение, когда сейчас через гет запрос почти 400 в секунду.в PM медленно?
такое на бд лучше переводить.в ZP и PM запускал примерно 4-5 секунд одино сравнение, когда сейчас через гет запрос почти 400 в секунду.
Проблема понятна это размер файлов, если Список 2 можно разбить на более мелкие списки (что и сделано) то вот Список 1 он цельный.
а где подглядеть можно это, начиная от поднятие бд локальной и до ее женитьбой с зенкой?такое на бд лучше переводить.
не подскажу, не оч силен в бд, мускул юзай, опен сервер установи на комп.а где подглядеть можно это, начиная от поднятие бд локальной и до ее женитьбой с зенкой?
Если требуется работа с таким количеством данных, то выше подсказали правильно, надо накатывать СУБД создавать БД, добавлять в нее все ваши данные из списка, что тоже время займет и уже на чистом SQL производить операции. В любом случае изучайте СУБД и чистый SQL т.к приемлемо работать с таким большим количеством данных возможно только через БД. Установить СУБД вообще не проблема, выбираете которая больше нравится ( MySQL Microsoft SQL Server , PostgreSQL ) это вот 3 основных, в целом похожие, синтаксис и интерфейс ток мальца различаются. Скачиваете устанавливаете, там ничего сложного, а потом уже подрубаете конкретную либу вашей СУБД в проект, а там уже начинаете SQL изучать, запрос на подключение к базе составлять, создавать там таблицы, и вносить требуемые данные, затем их уже можно будет сравнить. Если SQL не нравится то есть еще пару вариантов для работы с БД, это linqToSQL и EntitiFramework тут уже работа чисто на коде осуществляется.дальше если есть совпадение я сохраняю строку, с логикой нет проблем, проблема скорость чтения (сравнения, поиска)