プログラミング.NET Framework 第4版 座談会 での発表資料
View Slide
http://tech.tanaka733.nethttp://www.buildinsider.net/web/iis8http://metrostyledev.net/
Building a Faster Ruby Garbage CollectorTwitterが、Ruby on RailsからJavaVMへ移行する理由Ruby 2.1がガベージコレクションを変更,大規模システムでの批判に対処
GarbageCollection
ネイティブヒープ (OS)仮想アドレス空間(GCセグメント).NET CLRが管理32bitプロセス:1.5GB 近く、64bit: 8TB近くまで
マネージヒープ
Rocksee on Flickr viaESP
マーキング 再配置 コンパクション
空き 空き
空き
Ctd 2005 on Flickr viaESP
オブジェクトが新しいほど、生存期間は短いオブジェクトが古いほど、生存期間は長いヒープの一部分の回収は、全体の回収より高速
gen 0 gen 1 gen 2
class MyClass{~MyClass(){//Finalizeメソッド}}
James Cridland on Flickr viaESP
System.IDisposablestatic void Main(string[] args){FileStream fs = null;try{fs = new FileStream("Temp.txt", FileMode.Create);fs.Write(new byte[]{1, 2, 3, 4}, 0 , 4);}finally{if (fs != null) { fs.Dispose(); }}}static void Main(string[] args){using (var fs =new FileStream("Temp.txt", FileMode.Create)){fs.Write(new byte[] { 1, 2, 3, 4 }, 0, 4);}}
http://msdn.microsoft.com/ja-jp/library/fs2xkftw(v=vs.110).aspxpublic void Dispose(){Dispose(true);GC.SuppressFinalize(this);}
http://msdn.microsoft.com/ja-jp/library/vstudio/ee851764(v=vs.110).aspx
プログラミング .NET Framework 第4版http://msdn.microsoft.com/ja-jp/library/vstudio/hh156531(v=vs.110).aspxC#プログラマのための.NETアプリケーション最適化技法
using