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
130
1
Share
Wroclove.rb - JRuby vs. Rubinius
Fighting for the Rubinius side
Dirkjan Bussink
March 14, 2012
More Decks by Dirkjan Bussink
See All by Dirkjan Bussink
Managing a widely distributed team
dbussink
1
200
Time
dbussink
0
130
The tricky truth about parallel execution and modern hardware
dbussink
0
370
The future of Ruby is faster
dbussink
3
560
Security for dummies
dbussink
1
190
The myth of dynamic language performance
dbussink
3
490
Rubinius - Tales from the trenches @ Railsclub.ru 2012
dbussink
2
230
Rubinius - Tales from the trenches @ Baruco 2012
dbussink
1
290
Rubinius Eurucamp 2012 Workshop
dbussink
2
140
Other Decks in Technology
See All in Technology
マルチプロダクトの信頼性を効率良く保っていくために
kworkdev
PRO
0
180
ネットワーク運用を楽にするAWS DevOps Agent活用法!! / 20260421 Masaki Okuda
shift_evolve
PRO
2
240
Do Ruby::Box dream of Modular Monolith?
joker1007
1
360
VespaのParent Childを用いたフィードパフォーマンスの改善
taking
0
120
AI駆動1on1〜AIに自分を育ててもらう〜
yoshiakiyasuda
0
150
弁護士ドットコム株式会社 エンジニア職向け 会社紹介資料
bengo4com
1
190
色を視る
yuzneri
0
170
AgentCore Managed Harness を使ってみよう
yakumo
2
250
「責任あるAIエージェント」こそ自社で開発しよう!
minorun365
10
2.3k
Anthropic「Long-running a gents」をGeminiで再現してみた
tkikuchi
0
590
Do Vibe Coding ao LLM em Produção para Busca Agêntica - TDC 2026 - Summit IA - São Paulo
jpbonson
3
160
AIはハッカーを減らすのか、増やすのか?──現役ホワイトハッカーから見るAI時代のリアル【MEGU-Meet】
cscengineer
PRO
0
220
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
GitHub's CSS Performance
jonrohan
1032
470k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Bash Introduction
62gerente
615
210k
Marketing to machines
jonoalderson
1
5.2k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
520
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
180
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
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