Курс языка программирования Raku / Функциональное, конкурентное, реактивное и веб-программирование / Конкурентное программирование / hyper и race 🆕 / Настройка с :batch и :degree

Тест — batch и degree

Чем управляет :batch(50) в выражении (1..1000).hyper(:degree(4), :batch(50))?

1Сколько элементов рабочий поток обрабатывает за один заход, прежде чем взять ещё
0Сколько рабочих потоков выполняются одновременно
0Сколько элементов разрешено обработать всему конвейеру
0Число процессорных ядер, которые может использовать программа

:batch — это размер порции: сколько элементов рабочий поток берёт за раз. Число рабочих потоков задаёт :degree (здесь 4). Большая пачка снижает издержки координации, маленькая — равномернее распределяет неравную работу. И то и другое — подсказки, которые компилятор может подправить или проигнорировать.

Навигация по курсу

Настройка с :batch и :degree   |   map с hyper