У меня был очень похожий опыт, но я остановился на другом решении.
Я тоже тестировал скрипт на 8 ядерном 32 гб дедике с широким каналом и там еле еле 10 потоков шло.
Работающими решением оказалось взять 32 ядерный локальный сервер с 64 оперативки, на не очень быстром канале, с сокс5, на нем 100+ потоков запускалось.
Скрипт тот же, никаких оптимизаций не делалось.
Стоит конечно побольше, чем аренда дедика но тут уж зависит от окупаемости твоей темы, стоит ли оно того или нет.
Но соксы могут быть узким местом, по возможности нужно делать свои соксы. Для этого, можно брать дешевые VPS и установить сокс через опенсурсный софт microsocks для линукса (в инете полно инструкций по установке, занимает не более 5 минут вручную, и можно установку через БАС автоматизировать также на случай если нужны сотни соксов).
Ускорение скрипта
-
Добрый вечер, басовцы. У меня в софте есть момент, где он повторяет пару десятков действий 500 раз, это работает очень долго. Можно ли как-то это сделать быстрее (асинхронный вызов функции не поможет, ибо есть очень много данных которые ну просто нереально передать. Тем более я собираюсь софт крутить в 5-20 потоков.)? Спасибо за помощь
-
@itzpvpsher А действие/действия то какие? Нужно хотя бы это знать
-
@venom777
ForBAS.txt
Это именно та часть скрипта, которая повторяется постоянно и которую надо ускорить -
@itzpvpsher используя это можно определить на что уходит много времени

на основе этой информации легче определиться с оптимизацией
-
@itzpvpsher у вас там много регулярок, поиску по списку/ам поиск по базе данных.
для базы данных можно добавить индексы, что ускорить должно поиск в ней.
если списки очень большие то стоит перенести их во что то что имеет более эффективный поиск.
регулярки очень тяжелая вещь. те кто тут их используют упоминают что во время оптимизаций именно от них пытаются избавится