- Регистрация
- 06.04.2013
- Сообщения
- 1 631
- Благодарностей
- 461
- Баллы
- 83
Есть шаблон пасрер который парсит ссылки и проверяет из по блэклисту через сниппет
так вот проблема в том что время выполнения проверки по блэку растет с каждым потоком.
в блэке 500к ссылок(50мб)
время обработки 5 сек на 1 потоке
на 5 потоках время обработки сниппета в каждом потоке 25 сек
такое ощущение что работа идет по очереди, а не одновременно, проверил на 2х компах
сниппет был найден на форуме
Подскажите в чем может быть проблема?
Может у кого то есть сниппет получше?)
так вот проблема в том что время выполнения проверки по блэку растет с каждым потоком.
в блэке 500к ссылок(50мб)
время обработки 5 сек на 1 потоке
на 5 потоках время обработки сниппета в каждом потоке 25 сек
такое ощущение что работа идет по очереди, а не одновременно, проверил на 2х компах
сниппет был найден на форуме
Код:
// берем из переменной текст, который надо искать
var textContains = project.Variables["url"].Value;
// получаем список, в котором будем искать
var sourceList = project.Lists["black"];
// ищем в каждой строчке в списке
lock(SyncObjects.ListSyncer)
{
for(int i=0; i < sourceList.Count; i++)
{
// читаем строку из списка
var str = sourceList[i];
// проверяем содержание текста в строке, если есть совпадение возвращаем "yes"
if (str.Contains(textContains))
return "True";
}
}
// если ничего не нашли возвращаем "no"
return "False";
Может у кого то есть сниппет получше?)