Как ускорить программу на Python? Полезна ли здесь многопоточность?Python

Программы на Python
Ответить
Anonymous
 Как ускорить программу на Python? Полезна ли здесь многопоточность?

Сообщение Anonymous »

У меня есть файл JSON, который я анализирую, пытаясь проверить, активен ли домен.
У меня есть следующий код:

Код: Выделить всё

for i in range(len(json_data)):
print(i)
if int(json_data[i]['response']['result_count'])>0:
for j in range(len(json_data[i]['response']['matches'])):
try:
socket.gethostbyname(json_data[i]['response']['matches'][j]['domain'] )
except:
del json_data[i]['response']['matches'][j]['domain']
Я пытался использовать многопоточность в следующей форме:

Код: Выделить всё

def run_half():
for i in range(0,round(len(data_json)/2)):
print(i)        # make this len(data_json) if NOT testing, range(10) if testing
if int(data_json[i]['response']['result_count'])>0:
for j in range(len(data_json[i]['response']['matches'])):
try:
socket.gethostbyname( data_json[i]['response']['matches'][j]['domain'] )
except:
del data_json[i]['response']['matches'][j]['domain']
def run_half_2():
for i in range(round((len(data_json)/2))+1,len(data_json)):
print(i)        # make this len(data_json) if NOT testing, range(10) if testing
if int(data_json[i]['response']['result_count'])>0:
for j in range(len(data_json[i]['response']['matches'])):
try:
socket.gethostbyname( data_json[i]['response']['matches'][j]['domain'] )
except:
del data_json[i]['response']['matches'][j]['domain']

t1 = threading.Thread(target=run_half(),args=(10,))
t2= threading.Thread(target=run_half_2(),args=(10,))

t1.start()
t2.start()

t1.join()
t2.join()
По какой-то причине я не заметил изменения во времени вычислений.
Будем очень признательны за любые советы и предложения. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/721 ... seful-here
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»