У меня есть 6 больших файлов, каждый из которых содержит объект словаря, который я сохранил на жестком диске с помощью функции pickle.Загрузка всех их в последовательном порядке занимает около 600 секунд.Я хочу начать загружать их все одновременно, чтобы ускорить процесс.Предположим, что все они имеют одинаковый размер, я надеюсь загрузить их за 100 секунд.Я использовал multiprocessing и apply_async для загрузки каждого из них по отдельности, но он работает как последовательный.Это код, который я использовал, и он не работает.Код для 3 из этих файлов, но он будет одинаковым для шести из них.Я поместил третий файл на другой жесткий диск, чтобы убедиться, что ввод-вывод не ограничен.
def loadMaps():
start = timeit.default_timer()
procs = []
pool = Pool(3)
pool.apply_async(load1(),)
pool.apply_async(load2(),)
pool.apply_async(load3(),)
pool.close()
pool.join()
stop = timeit.default_timer()
print('loadFiles takes in %.1f seconds' % (stop - start))