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
Wroclove.rb - JRuby vs. Rubinius
Search
Dirkjan Bussink
March 14, 2012
Technology
1
120
Wroclove.rb - JRuby vs. Rubinius
Fighting for the Rubinius side
Dirkjan Bussink
March 14, 2012
Tweet
Share
More Decks by Dirkjan Bussink
See All by Dirkjan Bussink
Managing a widely distributed team
dbussink
1
190
Time
dbussink
0
110
The tricky truth about parallel execution and modern hardware
dbussink
0
360
The future of Ruby is faster
dbussink
3
550
Security for dummies
dbussink
1
170
The myth of dynamic language performance
dbussink
3
480
Rubinius - Tales from the trenches @ Railsclub.ru 2012
dbussink
2
220
Rubinius - Tales from the trenches @ Baruco 2012
dbussink
1
280
Rubinius Eurucamp 2012 Workshop
dbussink
2
120
Other Decks in Technology
See All in Technology
旬のブリと旬の技術で楽しむ AI エージェント設計開発レシピ
chack411
1
120
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
12k
Introduction to Bill One Development Engineer
sansan33
PRO
0
340
20251225_たのしい出張報告&IgniteRecap!
ponponmikankan
0
110
AI: The stuff that nobody shows you
jnunemaker
PRO
1
160
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
15
4.9k
製造業から学んだ「本質を守り現場に合わせるアジャイル実践」
kamitokusari
0
410
[PR] はじめてのデジタルアイデンティティという本を書きました
ritou
0
770
Digitization部 紹介資料
sansan33
PRO
1
6.4k
AWS re:Inventre:cap ~AmazonNova 2 Omniのワークショップを体験してきた~
nrinetcom
PRO
0
130
あの夜、私たちは「人間」に戻った。 ── 災害ユートピア、贈与、そしてアジャイルの再構築 / 20260108 Hiromitsu Akiba
shift_evolve
PRO
0
470
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
110
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
140
The Limits of Empathy - UXLibs8
cassininazir
1
200
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
120
SEO for Brand Visibility & Recognition
aleyda
0
4.1k
The Language of Interfaces
destraynor
162
26k
First, design no harm
axbom
PRO
1
1.1k
Docker and Python
trallard
47
3.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Producing Creativity
orderedlist
PRO
348
40k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
92
Transcript
Dirkjan Bussink http://github.com/dbussink @dbussink
None
None
REMOVED
@JRubyMethod(name = {"collect", "map"}, compat = CompatVersion.RUBY1_8) public static IRubyObject
collect(ThreadContext context, IRubyObject self, final Block block) { final Ruby runtime = context.getRuntime(); final RubyArray result = runtime.newArray(); if (block.isGiven()) { callEach(runtime, context, self, block.arity(), new BlockCallback() { public IRubyObject call(ThreadContext ctx, IRubyObject[] largs, Block blk) { IRubyObject larg = checkArgs(runtime, largs); IRubyObject value = block.yield(ctx, larg); synchronized (result) { result.append(value); } return runtime.getNil(); } }); } else { callEach(runtime, context, self, Arity.ONE_ARGUMENT, new AppendBlockCallback(runtime, result)); } return result; }
def collect if block_given? ary = [] each do |*o|
ary << yield(*o) end ary else to_enum :collect end end
None
> (x . xs) = [1, 2, 3] [1, 2,
3] > x 1 > xs [2, 3]
1 patch == commit access