Identify the function(s) which are causing performance issues.
The current implementations of Parallel.Single/Ordered/Critical are locking a dictionary before modifying it. We can use a similar approach from the tasking system and use ConcurrentDictionary classes to implement lock-free modifications.
Describe the performance expected vs. performance observed.
Performance metrics still need to be measured. A comprehensive evaluation should be provided when a corresponding PR is opened.
Identify the function(s) which are causing performance issues.
The current implementations of
Parallel.Single
/Ordered
/Critical
are locking a dictionary before modifying it. We can use a similar approach from the tasking system and useConcurrentDictionary
classes to implement lock-free modifications.Describe the performance expected vs. performance observed.
Performance metrics still need to be measured. A comprehensive evaluation should be provided when a corresponding PR is opened.