Clarify when parallel tasks are actually executed in parallel
- Dominant language
- Java
- Stars
- 1.2k
- Forks
- 268
- PR merge metrics
- No merged PRs in 30d
Description
The documentation should be clarified on what parallel execution means. Coming from parallel computing I assume that parallel execution would mean that a task would run concurrent with other tasks. However parallel seems to have a different meaning in ParSeq.
The documentation have the following statement
> We can use `Task.par()` method to compose tasks to run in parallel
The tasks are executed concurrently if the tasks have been created as blocking tasks. They are however all executed one at a time if they are composed of callables. This can be easily seen by viewing the Graphviz Timeline of the MergeSort example. None of the parallel operations are executed concurrently.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the documentation for Task.par() and the MergeSort example's Graphviz Timeline. Clarify how execution differs for blocking tasks and tasks composed of callables, and make the meaning of “parallel” unambiguous for readers; the documentation should explicitly match the observed timeline.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100