Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Garbage Collection in .NET Framework
Search
tanaka_733
October 26, 2013
Technology
4
2.6k
Garbage Collection in .NET Framework
プログラミング.NET Framework 第4版 座談会 での発表資料
tanaka_733
October 26, 2013
Tweet
Share
More Decks by tanaka_733
See All by tanaka_733
SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法
tanaka733
2
8.8k
Calling PowerShell from CSharp
tanaka733
0
1.4k
New Features in Visual Studio 2013
tanaka733
0
930
Starting Unity for Windows Store App
tanaka733
0
730
とあるインフラエンジニアのAzure活用
tanaka733
2
520
ぼくの考えた割と普通(c)なデプロイ戦略
tanaka733
1
10k
ASP.NET MVC4 Web APIをバックエンドにして作るストアとWindows Phoneプッシュ通知アプリ
tanaka733
0
1.6k
Yurufuwa_CSharp.pdf
tanaka733
0
5.1k
Windows ストアアプリで Push通知を使いこなそう
tanaka733
0
1.8k
Other Decks in Technology
See All in Technology
私のRSpecの書き方 / How I write RSpec
tmtms
4
840
暗黙知を集積するプラットフォーム : 「健常者エミュレータ事例集」の取り組み
sora32127
1
170
技術イベントはなんとかひねり出す 日経の技術広報の取り組み/techpr3
nishiuma
0
230
単回帰分析について数式を追いながら実装してみた
kentaitakura
0
510
複数の LLM モデルを扱う上で直面した辛みまとめ
kazuyaseki
1
260
長文から長文を生成するLLMツールをオープンソースで作ってみた。
tomohisa
2
150
Evolutionary Optimization of Model Merging Recipes
fuyu_quant0
3
550
LLMの現在
pfn
PRO
3
1.3k
中学生でもわかる深層学習
e869120
10
3k
KubeCon EU: Unlocking new Platform Experiences with Open Interfaces
salaboy
1
380
エバンジェリスト活動を7年やってきて見えてきた、コミュニティとエバンジェリストの関係
soracom
PRO
1
200
LLMプロダクト事業の立ち上げにおける挑戦
layerx
PRO
7
1.5k
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
657
120k
jQuery: Nuts, Bolts and Bling
dougneiner
57
7.1k
The World Runs on Bad Software
bkeepers
PRO
60
6.6k
Principles of Awesome APIs and How to Build Them.
keavy
119
16k
Agile that works and the tools we love
rasmusluckow
323
20k
How GitHub (no longer) Works
holman
301
140k
Building Your Own Lightsaber
phodgson
97
5.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
8
8.2k
Scaling GitHub
holman
456
140k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
5
1.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Practical Orchestrator
shlominoach
180
9.7k
Transcript
None
http://tech.tanaka733.net http://www.buildinsider.net/web/iis8 http://metrostyledev.net/
None
Building a Faster Ruby Garbage Collector Twitterが、Ruby on RailsからJavaVMへ移行する理由 Ruby
2.1がガベージコレクションを変更,大規模システムでの批 判に対処
None
Garbage Collection
None
ネイティブヒープ (OS) 仮想アドレス空間(GCセグメント) .NET CLRが管理 32bitプロセス:1.5GB 近く、64bit: 8TB近くまで
マネージヒープ
None
Rocksee on Flickr viaESP
マーキング 再配置 コンパクション
None
None
空き 空き
空き 空き
空き
None
Ctd 2005 on Flickr viaESP
オブジェクトが新しいほど、生存期間は短い オブジェクトが古いほど、生存期間は長い ヒープの一部分の回収は、全体の回収より高速
gen 0 gen 1 gen 2
gen 0 gen 1 gen 2
gen 0 gen 1 gen 2
None
None
None
None
None
None
None
None
None
None
None
None
None
class MyClass { ~MyClass() { //Finalizeメソッド } }
James Cridland on Flickr viaESP
System.IDisposable static 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); } }
None
None
None
http://msdn.microsoft.com/ja-jp/library/fs2xkftw(v=vs.110).aspx public void Dispose() { Dispose(true); GC.SuppressFinalize(this); }
None
None
None
None
None
None
None
None
http://msdn.microsoft.com/ja- jp/library/vstudio/ee851764(v=vs.110).aspx
None
None
プログラミング .NET Framework 第4版 http://msdn.microsoft.com/ja- jp/library/vstudio/hh156531(v=vs.110).aspx C#プログラマのための.NETアプリケーション最適化技法
using
None
None