- Регистрация
- 23.08.2015
- Сообщения
- 182
- Благодарностей
- 31
- Баллы
- 28
Я в раздумьях несколько дней. Есть скрипт. Суть оптимизировать по скорости выполнения алгоритм. Задача такая:
1. Получить токен вк
2. Взять из списка id
3. Узнать содержится ли в ответе определенные значение
4. В случае успеха записать id : кол-во совпадений : кол-во строк в ответе
Как можно решать задачу:
1. Выполнять через execute с передачей кода по сети
2. Выполнять через Api.метод используя параллельные потоки
В текущем виде реализовал через экшны через get запрос. Вполне работает и в 400-800 потоков при запуске через ZP, но хотелось бы быстрее и больше запросов.
Подскажите какие рациональные пути решения. Как можно реализовать через параллельные потоки?
1. Берем из списка N строк (где N = кол-во потоков)
2. Берем N токенов
3. Создаем N списков (?)
4. Пишем ответы в созданные списки
5. Ищем регуляркой по всем спискам и значения кладем в них же
6. Считаем строки и кладем в переменную
7. Удаляем строки не соответствующие регулярке во всех списках
8. Считаем их количество и значение кладем в переменную
9. В случае кол-ва строк > 0, кладем ответы в единый список в виде id : кол-во совпадений : кол-во строк
Правильный ли ход мысли? Возможно ли это сделать на C# и будет ли это быстрее, чем запуск проекта с экшнами в 1000 потоков без браузера?
Спасибо!
1. Получить токен вк
2. Взять из списка id
3. Узнать содержится ли в ответе определенные значение
4. В случае успеха записать id : кол-во совпадений : кол-во строк в ответе
Как можно решать задачу:
1. Выполнять через execute с передачей кода по сети
2. Выполнять через Api.метод используя параллельные потоки
В текущем виде реализовал через экшны через get запрос. Вполне работает и в 400-800 потоков при запуске через ZP, но хотелось бы быстрее и больше запросов.
Подскажите какие рациональные пути решения. Как можно реализовать через параллельные потоки?
1. Берем из списка N строк (где N = кол-во потоков)
2. Берем N токенов
3. Создаем N списков (?)
4. Пишем ответы в созданные списки
5. Ищем регуляркой по всем спискам и значения кладем в них же
6. Считаем строки и кладем в переменную
7. Удаляем строки не соответствующие регулярке во всех списках
8. Считаем их количество и значение кладем в переменную
9. В случае кол-ва строк > 0, кладем ответы в единый список в виде id : кол-во совпадений : кол-во строк
Правильный ли ход мысли? Возможно ли это сделать на C# и будет ли это быстрее, чем запуск проекта с экшнами в 1000 потоков без браузера?
Спасибо!
Последнее редактирование: