Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Paralēlā programmēšana / hyper un race 🆕 / Exercises / Summa ar race
Risinājums: Summa ar race
Šeit ir iespējams risinājums uzdevumam.
Kods
say (1..50).race.map(* ** 2).grep(* %% 2).sum;🦋 Atrodiet programmu failā parallel-sum.raku.
Izvade
22100Komentāri
.racevisu ķēdi — katra skaitļa kāpināšanu kvadrātā un pāra kvadrātu filtrēšanu — izpilda paralēli un, atšķirībā no.hyper, nesola atgriezt elementus secībā.Šeit tas nekaitē, jo pēdējais solis ir summa, kas nav atkarīga no secības: pāra kvadrāti (
2²,4², …,50²) saskaitās par22100neatkarīgi no tā, kādā kārtībā tie pienāk. Kad jūs rezultātus tikai apvienojat (summa, skaits),.raceir dabiskā izvēle un var nest mazliet mazākas pieskaitāmās izmaksas nekā.hyper.
Kursa navigācija
← Summa ar race | hyper ar filtru →