Python 3.6 Threading в импортированном модуле не увеличивает скорость - PullRequest
0 голосов
/ 01 мая 2018

У меня есть простая программа, которая изменяет размер пакета изображений в Python:

def resize(image_path_list):
    # open image
    # resize image
    # rename image
    # save new image

Я пытаюсь увеличить скорость обработки с помощью многопоточности - которая была выбрана вместо многопроцессорной, потому что A) это импортированный процесс (из графического интерфейса пользователя), поэтому многопроцессорная обработка под именем __main__ == не была выбрана и B) Я решил, что открытие и закрытие файла с диска было моей возможностью для оптимизации.

Однако, используя следующую реализацию потока, я не получил увеличения скорости (64,1 против 64,05 с) - я ожидал вдвое:

t1 = threading.Thread(target=resize(first_half_of_list))
t2 = threading.Thread(target=resize(second_half_of_list))

t1.start()
t2.start()
t1.join()
t2.join()

Я тестирую серию из 150+ изображений размером 1 МБ +, есть мысли?

...