Kurzusok
/
Roc
Roc
/
Feladatok
/
Párhuzamos betűgyakoriság
Párhuzamos betűgyakoriság

Párhuzamos betűgyakoriság

Közepes

Utasítások

Párhuzamos számítással számold meg a betűk gyakoriságát szövegekben.

A párhuzamosság lényege, hogy olyan dolgokat végzünk párhuzamosan, amelyeket sorosan is el lehet végezni. Gyakori példa erre a betűk gyakoriságának megszámolása. Használj párhuzamosságot, hogy kiszámítsd az egyes betűk összesített gyakoriságát a szövegek listájában.

Betűk számlálása párhuzamosan

Számold meg a betűket, a kis- és nagybetűk közti különbségtől és a nem betűktől eltekintve, majd adj vissza egy szótárt, amely minden kisbetűhöz hozzárendeli a darabszámát. A betűket Unicode skalárértékként kezeld; Unicode-normalizálásra nincs szükség.

A megadott items feldolgozásához használd a roc-parallel platform pf.Parallel.map!(items, { workers, task }) függvényét, amely egy tiszta task függvény segítségével, párhuzamosan, több szálon (amelyeket a workers ad meg) dolgozza fel az elemeket. Az eredményeket az összes elem feldolgozása után, a bemeneti sorrendben kapod vissza. Csak a ParallelLetterFrequency.roc fájlt kell szerkesztened.

A tesztek futtatása

A legtöbb feladattól eltérően ez a feladat effektusos függvényeket használ. A teszteket a roc --opt=speed parallel-letter-frequency-test.roc paranccsal futtasd a roc test helyett. A Roc-kód által visszaadott hibát a platform jelenti, a szokásostól eltérő formátumban.

Érdemes lehet megnézned a bank-account feladatot is, amely a párhuzamosság egy másik oldalát járja körül: hogyan lehet biztonságosan frissíteni a megosztott állapotot.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Roc Exercism

Készen állsz elkezdeni a(z) Párhuzamos betűgyakoriság feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Roc nyelvet 139 feladat segítségével, valódi emberi mentorálással, mindez ingyen.

Mélyelemzés: Párhuzamos betűgyakoriság!

A konkurencia és a párhuzamosság közötti különbségeket járjuk körbe, olyan nyelvek eltérő megközelítéseit szemügyre véve, mint a JavaScript, a Go, az Elixir és a Rust.