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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
380
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
Fラン学生が考える、AI時代のデザインに執着した突破口
husengs7
1
230
Python開発環境にハーネス適用を検討する
yuuka51
0
230
業務に残された「良くない型」で考える「TypeScriptの難しさ」
sajikix
3
930
freee-mcpを Local→Remote で出してわかった MCP認可実装のリアル
terara
1
190
マンション備え付けのネットワークとLTE回線を組み合わせた ネットワークの安定化の考案
harutiro
1
140
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.6k
ジュニアエンジニアはSREとどう向き合うべきか
nrinetcom
PRO
0
100
【新卒研修】ライブデモ + compose.yaml読解_講義資料
dip_tech
PRO
0
110
JTCでRedmine利用者2700人を実現した手法 第二部
nobuonakamura
0
150
Terragrunt x Snowflake + dbt で作るマルチテナントなデータ基盤構築プラットフォーム
gak_t12
0
510
ワールドカフェ再び、そしてゴール・ルール・ロール・ツール / World Café Revisited, and the Goals-Rules-Roles-Tools
ks91
PRO
0
190
"うちにはまだ早い"は本当? ─ 小さく始めるPlatform Engineering入門
harukasakihara
7
660
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.1k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
How STYLIGHT went responsive
nonsquared
100
6.1k
Music & Morning Musume
bryan
47
7.2k
Amusing Abliteration
ianozsvald
1
170
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
180
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
WCS-LA-2024
lcolladotor
0
590
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
120
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
150
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
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