Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PERFORMANCE] Optimize tasking API #131

Open
computablee opened this issue Dec 7, 2023 · 0 comments
Open

[PERFORMANCE] Optimize tasking API #131

computablee opened this issue Dec 7, 2023 · 0 comments
Labels
performance Something needs optimization tasking Deals with the tasking API
Milestone

Comments

@computablee
Copy link
Owner

Identify the function(s) which are causing performance issues.

The tasking API as it stands has some performance bottlenecks. A good look should be taken to see what kind of performance we can squeeze out of it.

Provide example code.

An example which puts lots of stress on the tasking system, showing its shortcomings:

DotMP.Parallel.ParallelMaster(() =>
{
    var tl1 = DotMP.Parallel.Taskloop(0, 1_000_000, grainsize: 1, action: i => { });
    var tl2 = DotMP.Parallel.Taskloop(0, 1_000_000, grainsize: 1, deps: tl1, action: i => { });
});

This not only takes a massive amount of memory, but also is excruciatingly slow as task dependency resolution is not very optimized right now.

@computablee computablee added performance Something needs optimization tasking Deals with the tasking API labels Dec 7, 2023
@computablee computablee added this to the Perpetual milestone Dec 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Something needs optimization tasking Deals with the tasking API
Projects
None yet
Development

No branches or pull requests

1 participant