Joblib Параллельные несколько процессоров медленнее, чем одиночные

Я только начал использовать модуль Joblib, и яЯ пытаюсь понять, как работает функция Parallel. Ниже приведен пример, когда распараллеливание приводит к увеличению времени выполнения, но я нене понимаю почему. Мое время работы на 1 процессор составило 51 секунду против 217 секунд на 2 процессор.

Я предполагал, что параллельное выполнение цикла скопирует списки a и b на каждый процессор. Затем отправьте item_n одному процессору и item_n + 1 другому процессору, выполните функцию и затем запишите результаты обратно в список (по порядку). Затем возьмите следующие 2 предмета и так далее. Я'Я явно что-то упустил.

Это плохой пример или использование joblib? Я просто структурировал код неправильно?

Вот пример:

import numpy as np
from matplotlib.path import Path
from joblib import Parallel, delayed

## Create pairs of points for line segments
a = zip(np.random.rand(5000,2),np.random.rand(5000,2))

b = zip(np.random.rand(300,2),np.random.rand(300,2))

## Check if one line segment contains another. 
def check_paths(path, paths):
    for other_path in paths:
        res='no cross'
        chck = Path(other_path)
        if chck.contains_path(path)==1:
            res= 'cross'
            break
    return res

res = Parallel(n_jobs=2) (delayed(check_paths) (Path(points), a) for points in b)

Ответы на вопрос(2)

Ваш ответ на вопрос