Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione concorrente / hyper e race 🆕 / Regolare con :batch e :degree

Quiz — batch e degree

In (1..1000).hyper(:degree(4), :batch(50)), che cosa controlla :batch(50)?

1Quanti elementi ogni lavoratore elabora in una volta prima di prenderne altri
0Quanti thread lavoratori girano nello stesso momento
0Quanti elementi l'intera pipeline può elaborare
0Il numero di core della CPU che il programma può usare

:batch è la dimensione del lotto — quanti elementi un lavoratore prende per turno. Il numero di lavoratori è :degree (qui 4). Un lotto più grande taglia il sovraccarico di coordinamento; uno più piccolo bilancia più uniformemente il lavoro disomogeneo. Entrambi sono suggerimenti che il compilatore può aggiustare o ignorare.

Regolare con :batch e :degree   |   Un map con hyper