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.8k
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
9.5k
Calling PowerShell from CSharp
tanaka733
0
1.6k
New Features in Visual Studio 2013
tanaka733
0
1k
Starting Unity for Windows Store App
tanaka733
0
810
とあるインフラエンジニアのAzure活用
tanaka733
2
560
ぼくの考えた割と普通(c)なデプロイ戦略
tanaka733
1
11k
ASP.NET MVC4 Web APIをバックエンドにして作るストアとWindows Phoneプッシュ通知アプリ
tanaka733
0
1.7k
Yurufuwa_CSharp.pdf
tanaka733
0
5.1k
Windows ストアアプリで Push通知を使いこなそう
tanaka733
0
1.9k
Other Decks in Technology
See All in Technology
プルリクエストレビューを終わらせるためのチーム体制 / The Team for Completing Pull Request Reviews
nekonenene
3
1.1k
What's new in Go 1.24?
ciarana
1
120
完璧を捨てろ! “攻め”のQAがもたらすスピードと革新/20250306 Hiroki Hachisuka
shift_evolve
0
100
AIエージェント入門
minorun365
PRO
33
20k
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
160
OPENLOGI Company Profile for engineer
hr01
1
20k
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
12k
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
380
MIMEと文字コードの闇
hirachan
2
1.5k
20250307_エンジニアじゃないけどAzureはじめてみた
ponponmikankan
2
140
x86-64 Assembly Essentials
latte72
3
420
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
4
210
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
660
Building Your Own Lightsaber
phodgson
104
6.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Gamification - CAS2011
davidbonilla
80
5.2k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Documentation Writing (for coders)
carmenintech
68
4.6k
Six Lessons from altMBA
skipperchong
27
3.6k
How to train your dragon (web standard)
notwaldorf
91
5.9k
The Pragmatic Product Professional
lauravandoore
32
6.4k
The Cult of Friendly URLs
andyhume
78
6.2k
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