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
How to make Perfume dance
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
nari
November 10, 2013
Technology
4.5k
2
Share
How to make Perfume dance
Let's dance!
nari
November 10, 2013
More Decks by nari
See All by nari
Parallel worlds of CRuby's GC
nari
1
110
Other Decks in Technology
See All in Technology
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (前半)
oracle4engineer
PRO
1
170
COBOL婆さんの伝説
poropinai1966
0
130
エージェント時代の UIとAPI、CLI戦略
coincheck_recruit
0
110
The 7 pitfalls of AI
ufried
0
170
EMから幅を広げるために最近挑戦していること / Recent challenges I'm undertaking to expand my horizons beyond EM
hiro_torii
1
180
QAエンジニアはどうやって プロダクト議論の場に入れるのか?
moritamasami
1
300
「SaaSの次の時代」に重要性を増すステークホルダーマネジメントの要諦 ~解像度を圧倒的に高めPdMの価値を最大化させる方法~
kakehashi
PRO
3
3.5k
プラットフォームエンジニアリングの実践 - AWS コンテナサービスで構築する社内プラットフォーム / AWS Containers Platform Meetup #1
literalice
1
230
Digital Independence: Why, When and How
wannesrams
0
230
AIが書いたコードを信じられない問題 〜レビュー負荷を下げるために変えたこと〜 / The AI Code Trust Gap: Reducing the Review Burden
bitkey
PRO
8
1.4k
ServiceNow Knowledge 26 の歩き方
manarobot
0
300
Scovilleモバイルエンジニア募集中.pdf
julienrudin
0
140
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Claude Code のすすめ
schroneko
67
220k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
340
Discover your Explorer Soul
emna__ayadi
2
1.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
GraphQLとの向き合い方2022年版
quramy
50
15k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Designing for Performance
lara
611
70k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
ラッコキーワード サービス紹介資料
rakko
1
3.2M
Transcript
#rubyconf 13 nari/@nari3/authorNari Network Applied Communication Laboratory How to make
Perfume dance
Self-introduction ➔ nari, @nari3, authorNari ➔ A CRuby committer ➔
I'm a creator of Bitmap Marking GC in Ruby 2.0
Perfume
http://perfume-dev.github.io/
This motion data is free to use
There are many works on the official site
I wanted to make Perfume dance with Ruby!!
Hacking plan ➔ Use Ruby/SDL. ➔ Motion data format is
BVH – We can parse it with bvh gem :) ➔ Done!
First prototype http://youtu.be/rjoFPGmJyn0
Yes! There is a bug! ➔ I fixed wrong matrix
calculation ➔ Done!
Second prototype http://youtu.be/f9j4Qh5A3ys
But there is a unfavorable line of code
GC.disable
Why?
The motion data is big (2.0MB) -------- -------- -------- *.bvh
parse Create many read only objects
GC must scans these object each time GC ✔ ✔
✔ ✔ ✔ ✔ ✔ Stop The World Stop time is long
DEMO
In Ruby 2.1, ➔ Introduced Generational GC a.k.a RGenGC by
ko1-san ➔ This feature saves Perfume's dance.
GC scans these object sometimes GC ✔ ✔ ✔ ✔
✔ ✔ Don't stop Stop time is short ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ Next GC Ignored
DEMO
Conclusion ➔ RGenGC is cool. ➔ ko1-san is also cool.
➔ Ruby 2.1 will be great! – You should not use GC.disable
Thank you!