鑑於Python中的以下示例,我想知道如何在Haskell中實現等效代碼,該代碼也是高效且並行的。在Python在Haskell中實現高效的並行映射並減少
第一個例子:功能映射在Python
f = lambda x: 2*x
print map(f, [1,2,3,4])
第二個例子:功能降低
g = lambda x,y: x*y
print reduce(g, [1,2,3,4], 1)
我想在Haskell並行代碼,以便能夠有效地利用多核處理器。
注意:這些只是玩具的例子,我不打算用這些玩具的例子加快速度。它們只是爲了說明如何實現運算符映射並與Haskell並行減少。
嘗試閱讀https://wiki.haskell.org/Applications_and_libraries/Concurrency_and_parallelism另外,來自Control.Parallel.Strategies的'parMap'可以解決第一個問題,雖然上面這些非常簡單的函數可能會使性能變得更糟。 – chi
歡迎來到stackoverflow,請告訴我們你已經嘗試了什麼,並告訴我們一些你的努力。你已經知道了多少haskell。使用多核心通常不是一個初學者問題。你可能會在[Simon Marlowe的優秀書]中找到一些信息(http://chimera.labs.oreilly.com/books/1230000000929)。在並行之前 - 只需檢查簡單的單核解決方案是否足夠快。 – epsilonhalbe