Я пытаюсь // 2 или более вызовов API на разных серверах в одно и то же время.
Эти вызовы, если они выполняются последовательно, в среднем занимают 0,5 секунды, но всякий раз, когда я их записываю, они принимают что-то вроде 0,7 при // 2 вызовах, 1.2 при использовании 4 вызовов и т. Д.
0,7все еще лучше, чем 0,5 х 2, а 1,2 все еще лучше, чем 0,5 х 4 секунды.Однако я не понимаю, почему при // двух вызовах это не занимает в среднем 0,5.
Вот код, который я использую (функция на самом деле вызывает методы разных классов, может ли задержка возникнуть при потоке?)
import multiprocessing.dummy
pool = multiprocessing.dummy.Pool()
def function(data):
timer = time()
new_data = *api_call*
print(time() - timer)
return new_data
# Option 1:
data = pool.map(book, [data1, data2])
# Option 2:
data = function(data1)
data += function(data2)
Заранее спасибо, я был бы крут, еслиЯ нашел способ получить эти ответы так же быстро, как и при одном звонке, в моем случае очень важна скорость, и если бы я мог делать 4-6 вызовов API (на разных серверах) одновременно, это было бы действительно здорово.