linkedin / linkedin/parseq

Clarify when parallel tasks are actually executed in parallel

Open
#63 3 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.