なんでかって言えば更新処理ってトランザクション処理の主作用だよね、何と何と何を更新して、なんか挿入してなんかを削除するってのは明示的にしたい。どこでどんな更新がかかったのか解らん物のChangeSet抽出して書き戻すとか信じらんないという自分。昨今のフレームワークの殆どがChangeSet抽出からの書き戻しなんだけど、なんででしょ。自分は絶滅危惧種?ChangeSet抽出から書き戻しの途中でエラーになったらどうするの?DBへの更新をロールバックするのは当然としてメモリ上にあるデータは書き戻せないからポイ以上の扱いってできないよね。何が楽観かといえば競合はめったに起こらないって前提なわけで、それに基づいた処理ばっかりのフレームワークって、競合起こる前提の場合ってスコープ外だよね。eコマースサイトの99%の商品が前提としてそんなに売れないよでも、売上の主役となる商品が一個あってその一個の売り上げが命運を握ってるなら楽観的ロックなんて使っちゃだめなんだよね。昨今の楽観的ロックまんせーなフレームワークオンパレードな状況に悲観的な今日この頃であります。#メモリ帯域とCPUキャッシュの効率が問題だhttp://social.msdn.microsoft.com/Forums/ja-JP/csharpgeneralja/thread/94173254-e79c-47ad-8fbd-98c421aa74d9/の問題がなかなか面白い。キャッシュが実質として効いてない(効かない)のが最初の問題で、メモリ帯域に率速してしまっているのが性能問題の主因だろう。キャッシュを効かせてあげる&依存関係から外れる所を並列化の対象とすると良いんだけど、実コードに落とすとなると結構難しい。Live!リアクティブフレームワークがリリースされましたね。WCFさっそく実戦投入を決意した。