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
96
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
150
Time
dbussink
0
66
The tricky truth about parallel execution and modern hardware
dbussink
0
320
The future of Ruby is faster
dbussink
3
520
Security for dummies
dbussink
1
120
The myth of dynamic language performance
dbussink
3
410
Rubinius - Tales from the trenches @ Railsclub.ru 2012
dbussink
2
200
Rubinius - Tales from the trenches @ Baruco 2012
dbussink
1
240
Rubinius Eurucamp 2012 Workshop
dbussink
2
100
Other Decks in Technology
See All in Technology
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
160
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.5k
Janus
bkuhlmann
1
490
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
350
継続的な改善 x ⾮連続的な進化
sansantech
PRO
3
150
開発パフォーマンスを最大化するための開発体制
ham0215
2
300
アクセシビリティを考慮したUI/CSSフレームワーク・ライブラリ選定
yajihum
2
1k
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
300
Cloud Native Java with Spring Boot (CNCF Aarhus, April 2024)
thomasvitale
1
170
どうするコスト最適化のトレードオフ
tetsuyaooooo
1
500
Google Cloud の AI を支える裏側のインフラを垣間見る!
maroon1st
0
340
Featured
See All Featured
Done Done
chrislema
178
15k
Build The Right Thing And Hit Your Dates
maggiecrowley
24
2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
322
20k
Designing Experiences People Love
moore
136
23k
Thoughts on Productivity
jonyablonski
58
3.8k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Agile that works and the tools we love
rasmusluckow
325
20k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Navigating Team Friction
lara
178
13k
Docker and Python
trallard
34
2.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
20
1.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
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