Skip to content
This repository was archived by the owner on Aug 31, 2025. It is now read-only.
This repository was archived by the owner on Aug 31, 2025. It is now read-only.

[PERFORMANCE] Optimize tasking API #131

@computablee

Description

@computablee

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    performanceSomething needs optimizationtaskingDeals with the tasking API

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions