Я не думаю, что практично распараллеливать эту функцию.
Внешний l oop нельзя распараллелить, поскольку каждая итерация зависит от значения lib
, подготовленного предыдущей итерацией.
Внутренняя l oop может быть распараллелена, но накладные расходы, вероятно, превысят потенциальное ускорение. (Запуск и присоединение к потоку не происходит бесплатно, и все потоки борются за доступ к изменяемому словарю.)