ZP тормозит из-за большого списка

Atlas

Client
Регистрация
16.02.2014
Сообщения
131
Благодарностей
8
Баллы
18
Всем привет!
Такая ситуация:
1) Шаб проверяет наличие ключа в списке:
C#:
lock(SyncObjects.ListSyncer)
return project.Lists["keywords"].First(s=>s.Contains(project.Variables["keyword"].Value));
2) Если ключа нет, то добавляет его в список.
В итоге сейчас список разросся до 160к строк => упала скорость выполнения шаба. Не могу сообразить, как этот момент оптимизировать можно, подскажите пж-ста...
 

Saf

Client
Регистрация
24.05.2015
Сообщения
73
Благодарностей
53
Баллы
18
Переходи на работу с Базой данных и будет тебе счастье, txt список так себе бдшка=)))
 
  • Спасибо
Реакции: Atlas

kagorec

Client
Регистрация
24.08.2013
Сообщения
979
Благодарностей
524
Баллы
93
Проверь такой вариант
C#:
string nameRegexp = project.Variables["key"].Value;
IZennoList Names = project.Lists["spisok"];
Regex re = new Regex(nameRegexp, RegexOptions.IgnoreCase);
return Names.Any(item => re.IsMatch(item));
 
  • Спасибо
Реакции: Atlas

Atlas

Client
Регистрация
16.02.2014
Сообщения
131
Благодарностей
8
Баллы
18
Проверь такой вариант
C#:
string nameRegexp = project.Variables["key"].Value;
IZennoList Names = project.Lists["spisok"];
Regex re = new Regex(nameRegexp, RegexOptions.IgnoreCase);
return Names.Any(item => re.IsMatch(item));
Выполнение действия CSharp OwnCode: Проверить ключ в списке keywords. Коллекция была изменена; невозможно выполнить операцию перечисления.
 

kagorec

Client
Регистрация
24.08.2013
Сообщения
979
Благодарностей
524
Баллы
93
Свои названия списка и переменной впиши.
 

Atlas

Client
Регистрация
16.02.2014
Сообщения
131
Благодарностей
8
Баллы
18

kot2566

Client
Регистрация
25.11.2019
Сообщения
19
Благодарностей
6
Баллы
3
Проверь такой вариант
C#:
string nameRegexp = project.Variables["key"].Value;
IZennoList Names = project.Lists["spisok"];
Regex re = new Regex(nameRegexp, RegexOptions.IgnoreCase);
return Names.Any(item => re.IsMatch(item));
А работа с регулярками разве не более тяжёлая операция по сравнению с поиском подстроки (как было изначально у тс)?
 

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