[Mono-dev] [PATCH] ParallelFx initial code drop

Marek Safar marek.safar at seznam.cz
Mon Jul 27 13:50:19 EDT 2009


Hi,
>
> ParallelFx[0] is a library designed to help programmers write more 
> easily parallel and concurrent code on .NET platform. As part of 
> Summer of Code (this year and last year), I coded a free 
> reimplementation of this library to work on top of Mono.
>
> Up until now, the code was living in mono-soc-2008 repository[1] 
> hosted on Google Code. Since .NET 4 beta has been released (and as it 
> bundles ParallelFx into the BCL [2]) it seems about time to move the 
> development of ParallelFx into Mono trunk with the 4.0 profile.
>
> The patch (http://is.gd/1P4n7) contains 2 of the 3 parts of ParallelFx 
> : the TPL (Task Parallel Library) and DSC (Data Structures for 
> Coordination). Modified/added namespaces are `System.Threading', 
> `System.Collections.
> Concurrent' and `System.Threading.Tasks'.  The last component, PLinq, 
> is working but hasn't yet been ported to the 4.0 API and thus isn't 
> suitable for integration.
>
> It's quite a big patch but I would very much welcome any input on it 
> and especially if it's ok for inclusion. As you will see, some parts 
> are still unfinished but the point of the patch is to move the code 
> into trunk and to avoid duplicate efforts by other Mono developers who 
> would think the code isn't existing.
>
> PS: At the moment, all the code is compiled as part of the System.Core 
> assembly but ultimately the concerned types will be moved to their 
> right place in corlib.
The major issues are

- The patch has to be integrated into mscorlib first, some parts have to 
be rewritten because there is no LINQ in mscorlib
- Missing or not implemented functionality should be marked with 
MonoTODO attribute for future references.
- In some cases it should be better to use existing type containers like 
Tuple instead of creating new ones.

Marek


More information about the Mono-devel-list mailing list