parallel-processingplinqparallel-extensionsdeedle

Is it possible to use Deedle's methods "as parallel"?


Something PLINQ style, for example:

var myTimeSeries = from kvp in myOtherTimeSeries.AsParallel() where kvp //etc.

Solution

  • Deedle does not currently have a parallel implementation of the methods. There are some operations that you could probably parallelize using ordinary Parallel LINQ by accessing the underlying observations (as a sequence of key value pairs):

     var myTimeSeries = 
       (from kvp in myOtherTimeSeries.Observations.AsParallel()
        where /* and some other things */
        select new KeyValuePair<...>(...)).ToSeries();
    

    This might work if you want to do some basic things with the series, but then the overhead of turning the resulting data back into series might actually be more than the gain from the parallelization.

    What operations are you trying to parallelize? Perhaps we could include a parallel implementation of some of them in Deedle..