【问题标题】:Is it possible to use Deedle's methods "as parallel"?是否可以“并行”使用 Deedle 的方法?
【发布时间】:2016-03-04 03:30:56
【问题描述】:

PLINQ 风格的东西,例如:

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

【问题讨论】:

    标签: parallel-processing plinq parallel-extensions deedle


    【解决方案1】:

    Deedle 目前没有这些方法的并行实现。通过访问底层观察(作为键值对序列),您可能可以使用普通的 Parallel LINQ 并行化一些操作:

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

    如果您想对系列做一些基本的事情,这可能会起作用,但是将结果数据转回系列的开销实际上可能超过并行化的收益。

    您要并行化哪些操作?也许我们可以在 Deedle 中包含其中一些的并行实现..

    【讨论】:

    • 我在 Item2 和 Item1 之间执行 pairwise() 操作,我认为这对于巨大的变量来说是一个很好的优势。我可以想到一个并行化的“Frame.FromRecords(fromConcurrentDataStructure)”。对于 Big Deedle,可能是? =D。另一个问题(不是同一主题)是 .NET 中每个变量 1.3 GB 的内存限制(即使我在 64 位上使用 gcAllowVeryLargeObjects...)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 2018-03-13
    • 2018-01-08
    • 1970-01-01
    相关资源
    最近更新 更多