並列マップ(発電機)オペレーター
-
06-07-2019 - |
質問
私が興味を定義する並列mapオペレーターのための私の言語です。するものであり、リストにリストされた表現です。この構文の類似機能します。とは異なり発電機のクライアントまで、フルのC#とPythonでは潜在的に評価される並列の場合、コンパイラを希望などがあり、アイドリングコアのリストはます。うという witheach
と区別するために foreach
実行される。
例えば発生していると考えること
var f = function(int x) : int { return x * 2; }
var my_list = 0..1000000;
var my_mapped_list = witheach (i in mylist) yield f(i);
私の質問は、ここが僕もunintuitiveのためのプログラマの方がサイド効果 f
?もちろん、私は行ってはならないものとしますこの文書がほとんどのプログラマは読んでい言語ドキュメンテーション.:-)
しないといけないのではないか大きな問題は、できる現代のプログラマーへの適応を暗黙的に並列にリスト処理の意味論、語学、またはいいものをさらに明確に?
解決
そうかもしれませんがほとんどのユーザなの読み書などのだろう非スレッドに対して安全コード witheach
ブロックを中心に、名前の構文似しているた foreach
).しょうは、信託ユーザーに、一部の静的解析の同時安全性ブロックです。を選択した場合には、その後、そのものでまぁいいんじゃないと witheach
-だけで自動的にparallelise foreach
が可能です。
かどうかのユーザーの責任である危険性のある、ウェイガー"yes"とい前に何が安全です。多くの言語力だこの選択は、毎日のポインタ、マニュアルメモリ管理、共有メモリ並行処理).するための構文題(電話で parallelforeach
)こころのプロジェクト笑顔の思い入します。
他のヒント
いようなもの pmap?
所属していません StackOverflow