【问题标题】:What is the 'parallel' concept in Rich Hickey's transducers Strange Loop talk?Rich Hickey 的换能器 Strange Loop 演讲中的“并行”概念是什么?
【发布时间】:2014-10-21 11:07:40
【问题描述】:

Strange Loop presentation on TransducersRich Hickey 中提到了一个名为“并行”的表中的概念。

您可以使用transducers 轻松查看examples of seqs and into and channels

现在您可以计算出 Observables are talking about RxJava

我的问题是 Rich Hickey 的转换器 Strange Loop 谈话中的“并行”概念是什么?这是futures 的列表,还是 pmap 或其他什么?

【问题讨论】:

    标签: clojure transducer


    【解决方案1】:

    已经有一些关于创建并行可转换过程的想法。这被跟踪为CLJ-1553。目前我们不打算在 Clojure 1.7 中解决这个问题,但希望在 Clojure 1.8 中做一些事情。

    现在可以设置一个reducer,它使用一个transducer作为底部reduce阶段(以及更传统的combiner fns),但理想情况下,我们将能够利用持久向量和映射所体现的“self-reducible”概念以更自然的方式支持并行换能。

    现在这很可能会以某种 preduce 函数的形式出现,但仍有很多待决定。

    一个有问题的领域是处理 kv 形式 - 减速器在那里做出了一些选择,这些选择对于传感器来说是困难或不方便的,因此需要解决。

    【讨论】:

      【解决方案2】:

      这个概念只是并行执行计算的概念。有多种可能的实现方式:

      1. clojure.core.reducers/fold,类似于reduce,不同之处在于它只能与关联归约函数一起使用,并且它由一个协议支持,该协议利用各种 Clojure 数据结构的树结构来并行化计算工作。它实际上还不是对转换器友好的,但它对减速器友好,并且似乎最终会出现启用转换器的版本。

      2. 最近发布的带有传感器支持的 core.async 导出一个名为 pipeline 的函数,该函数可并行化基于通道 → 通道传感器的转换。

      【讨论】:

        猜你喜欢
        • 2013-11-26
        • 2014-03-23
        • 2020-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-30
        相关资源
        最近更新 更多