Closed workingjubilee closed 10 months ago
Parallel Letter Frequency is quite nice as the problem is trivial. Starting with initially no primates and then leading on to crossbeam scoped threads to remove the need for clone of the inputs is a nice story - it shows off one of rust’s unique strengths and shows that the more performant way is also simpler.
After several failed attempts to create a high-quality syllabus, I believe any future attempts will have to do their own design work from scratch.
This issue describes how to implement the
threads
concept exercise for the rust track.Getting started
Please please please read the docs before starting. Posting PRs without reading these docs will be a lot more frustrating for you during the review cycle, and exhaust Exercism's maintainers' time. So, before diving into the implementation, please read up on the following documents:
Please also watch the following video:
Goal
Learning to write truly good multithreaded code is an enormous undertaking. Performing basic parallelism is not. The aim of this exercise is to provide a simple understanding of Rust's promised fearless concurrency.
Learning objectives
Out of scope
Concepts
Prerequisites
This will require a conceptual understanding of
move
to do parallel work...baaasically this comes after everything else.
Resources to refer to
Hints
After
Representer
No changes required
Analyzer
No changes required
Implementing
See our implementation guide for guidance. In addition you may want to make use of the shell script while in the
concept
directory, with the argument of the exercise name, e.g.sh boil_exercise.sh threads
Just explicitly copying "Parallel Letter Frequency" is probably a little lazy, but if you did but provided more of a guided tour of threading in doing so, it would not be entirely inappropriate.
Help
If you have any questions while implementing the exercise, please post the questions as comments in this issue.