Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Nebenläufige Programmierung / hyper und race 🆕 / Feinjustieren mit :batch und :degree

Quiz — batch und degree

Was steuert das :batch(50) in (1..1000).hyper(:degree(4), :batch(50))?

1Wie viele Elemente jeder Arbeiter auf einmal verarbeitet, bevor er weitere holt
0Wie viele Arbeits-Threads zugleich laufen
0Wie viele Elemente die ganze Pipeline verarbeiten darf
0Die Zahl der CPU-Kerne, die das Programm nutzen darf

:batch ist die Portionsgröße — wie viele Elemente ein Arbeiter je Runde nimmt. Die Zahl der Arbeiter ist :degree (hier 4). Eine größere Portion senkt den Koordinationsaufwand; eine kleinere gleicht ungleiche Arbeit besser aus. Beides sind Hinweise, die der Compiler anpassen oder übergehen darf.

Kursnavigation

Feinjustieren mit :batch und :degree   |   Ein map mit hyper