question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Allow parallel execution of tasks

See original GitHub issue

Image the following task graph which start at 1 and ends at 5:

      1
     /|\
    / | \
   2  3  4
    \ | /
     \|/
      5

Normally, we would do a topographic sort that gives us the order 1 -> 2 -> 3 -> 4 -> 5, but since this example graph is diamond shaped, we could actually run task 2,3 and 4 in parallel, by treating them as a single task which would result in the execution order 1 -> (2 | 3 | 4) -> 5.

Since most tasks in a Cake script probably will be I/O bound, this isn’t always what you would want, but theoretically this might shave some seconds of a big build script if applied to the right kind of tasks. We could make this functionality opt-in to prevent it from actually being slower.

Issue Analytics

  • State:closed
  • Created 9 years ago
  • Reactions:45
  • Comments:29 (18 by maintainers)

github_iconTop GitHub Comments

12reactions
ckolumbuscommented, Nov 17, 2017

Any progress on this topic? I’d like to have such a feature to speed up large project builds.

8reactions
Mrks83commented, Dec 3, 2019

Any new thoughts on “how to run tasks in parallel”? Would be awesome to get a statement or roadmap for future Cake evolution.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Running tasks in parallel on Remote Engine - Cloud
In Talend Cloud Management Console, select the Allow parallel execution of this task option when doing the task configuration. Via API, set the ......
Read more >
Parallel Execution of Tasks in SSIS
The better approach is to build a process in a semi-parallel way, meaning that a group of Data Flow Tasks (not all of...
Read more >
Parallelizing execution with Task.Run
Parallelism in .NET means executing CPU-bound computations over a lot of data using all available cores. Parallel.ForEach will partition the ...
Read more >
Grouping Tasks in Workflow and Enabling Parallel Execution
Grouping tasks is useful for enabling parallel execution and for organizing a workflow into similar steps that represent a part of your data ......
Read more >
sbt Reference Manual — Parallel Execution
It starts executing only when no other tasks are running (even if they have the exclusive tag) and no other tasks may start...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found