простая программа dask, не задерживающая функции в Ubuntu 17.10, python 3.6.3, dask 1.1.1 - PullRequest
0 голосов
/ 10 февраля 2019

Взято дословно из учебника по dask

from time import sleep

def inc(x):
    sleep(1)
    return x + 1

def add(x, y):
    sleep(1)
    return x + y
%%time
x = inc(1)
y = inc(2)
z = add(x, y)

Время ЦП: пользователь 6,89 мс, sys: 628 мкс, всего: 7,51 мс Время стены: 3 с

from dask import delayed
%%time
x = delayed(inc)(1)
y = delayed(inc)(2)
z = delayed(add)(x, y)

Время ЦП: пользователь 1,04 мс, sys: 97 мкс, всего: 1,13 мс Время стены: 1,23 мс

%%time
z.compute()

Время ЦП: пользователь 3,78 мс, sys: 5,21 мс, всего: 8,99 мс Время стены: 3,01 с

Разница во времени стены практически отсутствует ... тогда как она должна быть меньше примерно на одну секунду.Что я делаю не так?

1 Ответ

0 голосов
/ 11 февраля 2019

Отвечая на мой собственный вопрос ... ключевая проблема заключалась в том, что я запускал одноядерный виртуальный компьютер ... такой единый поток ... запустив распределенный планировщик и два распределенных рабочих (по клиенту), добился ожидаемого параллелизмаработа

...