SlideShare a Scribd company logo
Andrew Grimm University of New South Wales ニューサウスウェールズ大学  (UNSW) RubyKaigi 2011 日本 Ruby 会議  2011 Finding Black Holes in Ruby with the Small Eigen Collider 小型特異衝突型加速器で Ruby 内のブラックホールの特異点を見つける方法
tl;dr Too Long, Didn't Read( 長過ぎてよんでられない ) Creates random code. Metaprogramming magic!
ランダムなコードを作成します。メタプログラミングマジック!
Why? なんで? Why did I create the Small Eigen Collider?
なぜ私は小型特異衝突型加速器を作成した?
Background 背景 Bioinformatician at UNSW
UNSW のバイオインフォマティクス
Looking at mutations in HIV
HIV感染の変異を見て
Looking at mutations 私は突然変異で探しています Start with viruses with identical DNA sequence
同一の DNA 配列を持つウイルスで始まります
Allow to reproduce for one generation in laboratory
実験室内の 1 つの世代のために再現することができます
Determine DNA sequence of new viruses
新しいウイルスの DNA 配列を決定する
Differences are mutations
違いは突然変異です
Big data ビッグデータ Looking at approximately 500,000 sequences
約50万シーケンスを見て
Approx. 150,000,000 DNA letters (A, C, G, T)
約。 1.5億DNAの文字(A、C、G、T)
For comparison, human genome is 3,000,000,000 letters
比較のために、ヒトゲノムは30億文字です
Problem Ruby is too slow
XKCD 303 問題 Rubyは遅すぎる
How slow is my application? 私のアプリのスピード Currently using YARV Ruby 1.9.1
My application looks at 500,000 sequences
50万件のルックアップ
An analysis takes 20 minutes
解析には20分かかる
That's after some optimizing! ちなみにこれはチューニングの 後の数字です
Other Rubies might be faster ほかの Ruby 実装はもっと速いかも
JRuby Faster at some tasks
Real multithreading (no GIL)
特定の処理は高速で真のマルチスレッド
Rubinius Faster at some tasks
Real multithreading Real Soon Now
特定の処理は高速で真のマルチスレッドも近日リリース
Ruby Enterprise Edition Mainly better at garbage collection
GC が良い。
More relevant to Rails developers than me
Rails 開発者向き
How do I know it'll give the correct results?
どのように私はそれが正しい結果を与えているか知ることができる? Should I switch to a faster Ruby? もっと早いRuby実装に乗り換えるべき?
What kind of errors worry me? どういうエラーが心配? Large, obvious bugs that cause an exception are fine
エラーを生じる明らかなバグはあまり心配なし
Small, subtle bugs that give an incorrect result are bad
些細でまちがった結果を生じるバグがやばめ
Other implementations are wrong 他の実装が間違っている Ran my project against Rubinius – 1 unit test failed

More Related Content

PPS
Small eigen collider ruby kaigi 2011
PDF
日々の作業を自動化してみる
PDF
PDF
Jvm言語とJava、切っても切れないその関係
PPTX
AngulaとElixirの新しい関係
PDF
海外の WordCamp に登壇してきました
PPT
delayed_jobの自動再起動
ODP
Doing A Bradbury With Heckle
Small eigen collider ruby kaigi 2011
日々の作業を自動化してみる
Jvm言語とJava、切っても切れないその関係
AngulaとElixirの新しい関係
海外の WordCamp に登壇してきました
delayed_jobの自動再起動
Doing A Bradbury With Heckle

Viewers also liked (6)

PDF
YHA Japan travel night (internet version)
ODP
Railscamp lousy tshirt draft
ODP
Mistakes I have made
ODP
Small eigen collider
ODP
Ruby 1.8.8 and professor
ODP
Nihon go do you speak it
YHA Japan travel night (internet version)
Railscamp lousy tshirt draft
Mistakes I have made
Small eigen collider
Ruby 1.8.8 and professor
Nihon go do you speak it
Ad

Similar to Small eigen collider ruby kaigi 2011 (20)

PDF
RubyKaigi2014: Just in Time compiler for CRuby
PDF
RubyのGC改善による私のエコライフ
ODP
Programming camp Codereading
PDF
Why did I become a ruby committer
PDF
Ruby勉強会@札幌 "Rubyist入門講座"
ODP
RSpecのここがすごい!
PDF
Code Reading at Security and Programming camp 2011
PDF
Programming camp code reading
ODP
Sourcecode Reading Workshop2010
PDF
20101001-Introduction-to-Developer-Testing-With-Ruby
PDF
Summary of Ruby
PDF
Rubyによる本気のGC
PPTX
Ruby – The Scripting Language
PDF
地域Ruby会議に参加してきた話とか
PDF
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
PDF
Programming camp 2008, Codereading
PDF
GCをみればRTSが見えてくる、かも。。。
PDF
Ruby 2.5
PDF
Ruby2.0 - refinements - 鳥取Ruby会 第11回
PDF
Ruby で高速なプログラムを書く
RubyKaigi2014: Just in Time compiler for CRuby
RubyのGC改善による私のエコライフ
Programming camp Codereading
Why did I become a ruby committer
Ruby勉強会@札幌 "Rubyist入門講座"
RSpecのここがすごい!
Code Reading at Security and Programming camp 2011
Programming camp code reading
Sourcecode Reading Workshop2010
20101001-Introduction-to-Developer-Testing-With-Ruby
Summary of Ruby
Rubyによる本気のGC
Ruby – The Scripting Language
地域Ruby会議に参加してきた話とか
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Programming camp 2008, Codereading
GCをみればRTSが見えてくる、かも。。。
Ruby 2.5
Ruby2.0 - refinements - 鳥取Ruby会 第11回
Ruby で高速なプログラムを書く
Ad

More from Andrew Grimm (20)

PPTX
Finding Japanese Flatmates with Ruby (English and Japanese)
PPT
Git Tips and Tricks
PPTX
RuboCop
PDF
Tootle returning to rails
PDF
Finding Japanese flatmates with Ruby
ODP
Curing AIDS, with programming
PPTX
Avoiding niseko syndrome
PPTX
Curing AIDS, with programming
ODP
Memoirs of a programmer (internet version)
ODP
Rubyist in oz
PPT
Japanese: a programmers language
ODP
Ruby for newbies Lake Ainsworth
ODP
Sapporo ruby kaigi
ODP
How to talk like a ge1sha
ODP
All I want for Matz-mas
ODP
Ampersand method
ODP
Making easy roommate easy
ODP
What has source control ever done for us?
ODP
Philosophy talk
ODP
Only You Can Prevent Cthulhu
Finding Japanese Flatmates with Ruby (English and Japanese)
Git Tips and Tricks
RuboCop
Tootle returning to rails
Finding Japanese flatmates with Ruby
Curing AIDS, with programming
Avoiding niseko syndrome
Curing AIDS, with programming
Memoirs of a programmer (internet version)
Rubyist in oz
Japanese: a programmers language
Ruby for newbies Lake Ainsworth
Sapporo ruby kaigi
How to talk like a ge1sha
All I want for Matz-mas
Ampersand method
Making easy roommate easy
What has source control ever done for us?
Philosophy talk
Only You Can Prevent Cthulhu

Small eigen collider ruby kaigi 2011