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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tanaka_733
October 26, 2013
Technology
4
2.9k
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
11k
Calling PowerShell from CSharp
tanaka733
0
1.9k
New Features in Visual Studio 2013
tanaka733
0
1.1k
Starting Unity for Windows Store App
tanaka733
0
850
とあるインフラエンジニアのAzure活用
tanaka733
2
610
ぼくの考えた割と普通(c)なデプロイ戦略
tanaka733
1
11k
ASP.NET MVC4 Web APIをバックエンドにして作るストアとWindows Phoneプッシュ通知アプリ
tanaka733
0
1.8k
Yurufuwa_CSharp.pdf
tanaka733
0
5.1k
Windows ストアアプリで Push通知を使いこなそう
tanaka733
0
2k
Other Decks in Technology
See All in Technology
技術キャッチアップ効率化を実現する記事推薦システムの構築
yudai00
2
170
Eight Engineering Unit 紹介資料
sansan33
PRO
1
6.9k
AI が Approve する開発フロー / How AI Reviewers Accelerate Our Development
zaimy
1
260
WBCの解説は生成AIにやらせよう - 生成AIで野球解説者AI Agentを実現する / Baseball Commentator AI Agent for Gemini
shinyorke
PRO
0
320
Serverless Agent Architecture on Azure / serverless-agent-on-azure
miyake
1
130
2026-02-25 Tokyo dbt meetup プロダクトと融合したCI/CD で実現する、堅牢なデータパイプラインの作り方
y_ken
0
170
開発組織の課題解決を加速するための権限委譲 -する側、される側としての向き合い方-
daitasu
3
110
Kaggleの経験が実務にどう活きているか / kaggle_findy
sansan_randd
1
180
競争優位を生み出す戦略的内製開発の実践技法
masuda220
PRO
2
530
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
5
7.6k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
71k
入門DBSC
ynojima
0
120
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
400
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
380
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
63
Mobile First: as difficult as doing things right
swwweet
225
10k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
140
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
170
YesSQL, Process and Tooling at Scale
rocio
174
15k
Building Adaptive Systems
keathley
44
2.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
190
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