Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Конкурентне програмування / hyper і race 🆕 / Налаштування з :batch і :degree
Тест — batch і degree
У (1..1000).hyper(:degree(4), :batch(50)) — чим керує
:batch(50)?
| 1 | Скільки елементів кожен робітник обробляє за один захід, перш ніж узяти наступні |
| 0 | Скільки робочих потоків працюють одночасно |
| 0 | Скільки елементів дозволено обробити всьому конвеєру |
| 0 | Кількість ядер процесора, які програма може використати |
:batch — це розмір порції, тобто
скільки елементів робітник бере за один хід. Кількість робітників задає
:degree (тут 4). Більша порція зменшує
накладні витрати на координацію; менша рівномірніше балансує
нерівномірну роботу. Обидва є підказками, які компілятор може
скоригувати чи проігнорувати.