■ [prog] STM(ソフトウェアトランザクションメモリ) JOI 春合宿の講義資料 - 純粋関数型雑記帳 関数プログラミング入門 の後半が面白かったのでメモ。 CPUのクロック数が頭打ちに → これからは並行処理しないと速くならない時代 でもロックはいろいろ大変… ロック過剰→性能低下 ロック不足→再現しずらいバグ デッドロック 組み合わせ問題 (スライドp.86-) そこでSTM (ソフトウェアによるトランザクションメモリ)ですよ データベースのトランザクションに似たもの 実行してみて、競合してたらやり直し 性能的には劣るが扱いやすい トランザクションの中ではIOとかやっちゃだめ(複数回実行されることがあるから) 気をつける (Clojure等) 型システムで、トランザクション中にIOがないことを保証 (Haskell) ←かっこいい 62 https://www.google.c
![Route 477(2010-03-29)](https://cdn-ak-scissors.b.st-hatena.com/image/square/b0dd2a08b2c0fff30d70543ed7fa340ebfeb5697/height=288;version=1;width=512/https%3A%2F%2Froute477.net%2Fd%2Fassets%2Fogimage.png)