为什么功能语言可以并行化



还有另一个标题为"功能并行性的编程语言:f#vs haskell",其中操作说明"功能编程"具有不可变的数据结构,没有固有适合并行编程的副作用。"

乔恩·哈罗普(Jon Harrop)在回答中说:"平行性仅是关于性能和纯度的效果。因此,如果您的目标是获得体面的表现,那么纯粹的功能编程就不是一个好的起点。"

> 。"

好吧,我不打算进入功能编程是否真正提高性能;看来这是一个实施问题。我感兴趣的是概念层面:

易于并行化所需的"不变数据"one_answers"免于副作用"?它们是足够的条件还是必要的条件?它们是否需要保证数据独立性或通勤性?赞赏学术文献的参考。

易于并行化所需的"不变数据"one_answers"免于副作用"?

可以从另一个线程中观察到的数据突变是副作用,因此仅仅从副作用中的自由就足够了。:)

它们是否足够或必要的条件?

条件是什么?

这些不是使用并行性的不是的前提。所谓的就是使事情变得更容易。

看,就像有人说: java天生适合避免缓冲区超支的编程,因为它没有(可操作的)指针。

这并不意味着您不能编写不会在C中覆盖其缓冲区的程序。这样做很难。

最新更新