今日はまたちょっと将来の話。リリース時期・本当にリリースされるか未定の機能で、メモリ管理がらみの話をまとめて。一般的にはスタックの方が高速です。スタックの方が制限がきついので、遅くてもしょうがなくヒープを使う場面がでてきます。ヒープ管理は結構大きな負担なので、これを減らせば結構なパフォーマンス改善になります。いくつか方向性があって、以下のような最適化が考えられます。コレクション一般的に、こまごまと個別に処理をするよりも、ある程度まとまった単位でごっそり処理する方が効率がよかったりします。これがスループット的には結構有利だったりします。トータルでみると低負荷なメモリ管理手法です。コレクション的な挙動をしているものがあるくらいです。なんかはそうみたいです。メモリが足りなくなってきたときにまとめて解放処理をします。GCに性能で勝てなかった」的な結論に達したりします。(Rustみたいに、メモリの所有権をはっきりさせればヒープ管理が速くなるんじゃないかという原理に基づく提案)。賢そうなことをやっているんですが、それでも結論は「利益がコストに見合わない」でした。導入できないかという調査をしているみたいです。ドキュメントがなく、QConSFの登壇で軽く紹介された程度ですが。(ppt)これも、「ある程度まとまった単位でごっそり処理する方が高効率」という原理に則ったものです。以下のように、「ごっそり消す」タイミングを明示するような方式。(舞台、競技場、界)と呼んでいます。時にまとめて解放arena.Dispose();この方式はトランザクションのスコープがはっきりしているものに対して有効です。採用していることからわかるように、シリアライズ・デシリアライズが好例です。シリアライズ完了時にまとめて解放すれば効率よくゴミを片付けられます。スタック上に領域確保しても問題なく動いたりします。Allocation)があります。