Курс по Raku / Функционално, паралелно, реактивно и уеб програмиране / Паралелно програмиране / hyper и race 🆕 / Настройка с :batch и :degree
Тест — batch и degree
В (1..1000).hyper(:degree(4), :batch(50)) — какво
управлява :batch(50)?
| 1 | По колко елемента обработва всеки работник наведнъж, преди да вземе още |
| 0 | Колко работни нишки вървят едновременно |
| 0 | Колко елемента има право да обработи целият конвейер |
| 0 | Броя процесорни ядра, които програмата може да използва |
:batch е размерът на порцията — по
колко елемента взема работникът на един ход. Броят на работниците се
задава от :degree (тук 4). По-голяма порция
намалява разходите за координация; по-малка балансира по-добре
неравномерната работа. И двете са подсказки, които компилаторът може да
коригира или пренебрегне.