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
100
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
160
Time
dbussink
0
86
The tricky truth about parallel execution and modern hardware
dbussink
0
320
The future of Ruby is faster
dbussink
3
530
Security for dummies
dbussink
1
130
The myth of dynamic language performance
dbussink
3
420
Rubinius - Tales from the trenches @ Railsclub.ru 2012
dbussink
2
200
Rubinius - Tales from the trenches @ Baruco 2012
dbussink
1
250
Rubinius Eurucamp 2012 Workshop
dbussink
2
110
Other Decks in Technology
See All in Technology
リアルお遍路+SORACOM IoT
ozk009
1
140
Developer Experienceを向上させる基盤づくりの取り組み事例集
coconala_engineer
0
150
サーバレスでモバイルアプリ開発! NTTコム「ビジネスdアプリ」のアーキテクチャ / The architecture of business d app
nttcom
12
240
言葉は感情の近似値である。その感情と言葉の誤差を最小化しよう ~コミュニケーションにおけるアナログ/デジタル変換の課題に立ち向かう~
nktamago
0
230
再考 アクターモデル/ reconsider actor model
ytake
0
360
OSTという文化を組織に根付かせてみた
sansantech
PRO
2
400
LLVM/ASMを使った有限体の高速実装
herumi
0
120
QAに対する超個人的な解釈 / Personal Take on QA
toma_sm
1
120
Swift Testingのconfirmationを コードリーディング/Dive into Swift Testing confirmation
laprasdrum
2
260
Jetpack Compose Modifier 徹底解説 / Jetpack Compose Modifier
wiroha
0
200
ネットワークだけ隔離されたコンテナ作成デモ / Kichijoji.pm36
tenforward
1
240
Mocking in Rust Applications
taiki45
2
410
Featured
See All Featured
RailsConf 2023
tenderlove
28
810
In The Pink: A Labor of Love
frogandcode
139
22k
How To Stay Up To Date on Web Technology
chriscoyier
786
250k
We Have a Design System, Now What?
morganepeng
48
7.1k
Large-scale JavaScript Application Architecture
addyosmani
508
110k
The Brand Is Dead. Long Live the Brand.
mthomps
53
38k
How to Ace a Technical Interview
jacobian
274
23k
Building a Scalable Design System with Sketch
lauravandoore
459
32k
Raft: Consensus for Rubyists
vanstee
135
6.5k
Designing the Hi-DPI Web
ddemaree
278
34k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
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