3
在Haskell,我可以使用,使清單的並行評估:只有Common Lisp(SBCL)是否具有高級並行性功能?
map expensiveFunction list `using` parList rdeepseq
添加`using` parList rdeepseq
使純並行計算和運行快4倍於我的四核處理器。
使用SBCL有類似的功能嗎?
在Haskell,我可以使用,使清單的並行評估:只有Common Lisp(SBCL)是否具有高級並行性功能?
map expensiveFunction list `using` parList rdeepseq
添加`using` parList rdeepseq
使純並行計算和運行快4倍於我的四核處理器。
使用SBCL有類似的功能嗎?
Common Lisp中沒有一個標準的設施要做到這一點,但專門做正是這個庫,很好地支持大多數CL實現:Lparallel
隨着lparallel你可以做到以下幾點:
(let ((number-sets '((1 2 3) (4 5 6) (10 11 12 13 14) (100 200 300))))
(lparallel:pmap 'list (lambda (v) (apply #'+ v)) number-sets))
這將並行執行各個求和,但返回的結果與使用普通的map
相同。
謝謝!不知道這個圖書館。 – Ana