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
Ruby Garbage Collection
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Simon Hørup Eskildsen
May 06, 2013
Programming
1
190
Ruby Garbage Collection
Simon Hørup Eskildsen
May 06, 2013
Tweet
Share
More Decks by Simon Hørup Eskildsen
See All by Simon Hørup Eskildsen
Advanced Napkin Math: Estimating System's Performance from First Principles
sirupsen
3
710
GOTO Copenhagen 2017: Shopify’s Architecture to Handle 80K RPS Sales
sirupsen
0
630
RailsConf 2016: 5 Years of Scaling Rails to 80K RPS
sirupsen
3
1.1k
Full Stack Fest 2016: Shopify in Multiple Datacenters
sirupsen
6
480
CUSEC 2016: Reliable Software in a Chaotic World
sirupsen
5
660
EuRuKo 2015: Super-Reliable Software
sirupsen
12
3.5k
DockerCon 2015: Resilient Routing and Discovery
sirupsen
22
6.6k
Goruco 2015: Building and Testing Resilient Applications
sirupsen
2
340
GOTO Chicago: Patterns for Docker Success
sirupsen
1
330
Other Decks in Programming
See All in Programming
安いハードウェアでVulkan
fadis
0
520
Docコメントで始める簡単ガードレール
keisukeikeda
1
130
へんな働き方
yusukebe
4
2.6k
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
430
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
300
Claude Code Skill入門
mayahoney
0
400
技術検証結果の整理と解析をAIに任せよう!
keisukeikeda
0
130
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
580
Claude Codeログ基盤の構築
giginet
PRO
7
3.4k
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
500
Angular-Apps smarter machen mit Gen AI: Lokal und offlinefähig - Hands-on Workshop!
christianliebel
PRO
0
120
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
1.8k
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
300
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
180
GraphQLとの向き合い方2022年版
quramy
50
14k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Being A Developer After 40
akosma
91
590k
Speed Design
sergeychernyshev
33
1.6k
Discover your Explorer Soul
emna__ayadi
2
1.1k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
150
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
760
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Transcript
Ruby Garbage Collection Simon Hørup Eskildsen @Sirupsen
None
Mark and Sweep (< 1.9) Lazy Sweeping (>= 1.9) Lazy
Bitmask Sweeping (2.0) Geneartional GC (2.1?) Concurrent GC (??)
Mark and Sweep
None
None
RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE
None
None
Root objects Freeable
None
RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE
RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE
None
RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE
Free List
RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE
Free List
RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE Free
List
RVALUE RCLASS RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE RVALUE Free
List
The Copy-on-Write Problem
None
None
Process #2 Process #1
Process #2 Process #1
None
None
Process #2 Process #1 ? ? ? ? ? ?
?
None
Process #2 Process #1
Ruby 2.0
0 0 1 0 0 1 1
None
Process #2 Process #1 bar foo
CoW problem fixed: => Less memory => Faster
Geneartional GC Ruby 2.1?
Root objects Freeable M&S Freeable
Old Root objects Freeable Old M&S Freeable
Prospects of a Concurrent GC