• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Многопоточное выполнение в python

basovv

Member
15.06.2021
13
0
BIT
0
Ситуация следующая: был написан скрипт на python 3 , выполняющий получение ip адреса домена по списку из файла, с помощью gevent и greenlet удалось добиться скорости в 600-800 запросов в секунду без пропусков при затратах ОЗУ ~50мб, файл был скомпилирован в exe с помощью pyinstaller, потом исходники были утеряны, а декомпиляция не помогает, точнее удалось получить только часть исходников и главное - неизвестно какая версия была у библиотек во время сборки в exe. С новыми версиями библиотек скорость падает в десятки раз и начинаются пропуски.

Собственно вопрос: как можно добиться таких же результатов и с помощью чего? Нужно в многопоточном режиме получать ip доменов по списку. Готов заплатить за помощь в решении данного вопроса, если нужно.
 
Бесплатный совет.
Как я понимаю компиляция в exe связана с тем, что вы используете Windows и запускаете написанное Вами детище на своём компьютере.
Я бы предложил использовать то что использовали, или написал решиние с ипользыванием threading библиотеки (в многопоточность не углублялся, сравнивать не с чем), взять vps и запускать это решение с него.
Если отталкиваться от теории в которой привязка к ОЗУ и Windows связана с тем, что Вы делаете это на домашнем компьютере.
VPS обычно стоят около пяти долларов
 
Бесплатный совет.
Как я понимаю компиляция в exe связана с тем, что вы используете Windows и запускаете написанное Вами детище на своём компьютере.
Я бы предложил использовать то что использовали, или написал решиние с ипользыванием threading библиотеки (в многопоточность не углублялся, сравнивать не с чем), взять vps и запускать это решение с него.
Если отталкиваться от теории в которой привязка к ОЗУ и Windows связана с тем, что Вы делаете это на домашнем компьютере.
VPS обычно стоят около пяти долларов
Перед тем как арендовать vps нужно код до ума довести, поэтому и ищу помощи с этим
threading не дает таких результатов как gevent.
К ОЗУ привязка в связи с тем, что реализации могут быть разными, зачем съедать 5гб, если можно, опять же, оптимизировать код и получить на выходе 50-60мб всего
 
Есть подозрение, что можно где-то за час-два переписать такое на компилируемый язык (тот же го или си) и получить желаемую производительность.
 
Есть подозрение, что можно где-то за час-два переписать такое на компилируемый язык (тот же го или си) и получить желаемую производительность.
возможно, но мне этот код потом еще надо будет обновлять\добавлять элементы, а с го или С не знаком, python хотя бы чуть-чуть
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!