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
Ruby is not slow anymore
Search
Pavel Kalashnikov
April 03, 2023
Programming
820
0
Share
Ruby is not slow anymore
Slide 25 has the video. You can find it here
https://youtu.be/qxZ2ste7RyA
Pavel Kalashnikov
April 03, 2023
Other Decks in Programming
See All in Programming
Angular Signal Forms
debug_mode
0
110
iOS機能開発のAI環境と起きた変化
ryunakayama
0
180
Server-Side Kotlin LT大会 vol.18 [Kotlin-lspの最新情報と Neovimのlsp設定例]
yasunori0418
1
160
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
420
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
180
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
380
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
2
190
Don't Prompt Harder, Structure Better
kitasuke
0
770
🦞OpenClaw works with AWS
licux
1
110
Running Swift without an OS
kishikawakatsumi
0
840
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
0
280
AWSコミュニティ活動は顧客のクラウド推進に効くのか / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
140
Featured
See All Featured
Navigating Team Friction
lara
192
16k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
380
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
290
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
530
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
The untapped power of vector embeddings
frankvandijk
2
1.7k
First, design no harm
axbom
PRO
2
1.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Transcript
Ruby is not slow anymore @kalashnikovisme
Pasha Kalashnikov @kalashnikovisme Backend Engineer @ @evilmartians
None
@kalashnikovisme @evilmartians They say
Ruby is too slow @kalashnikovisme @evilmartians They say What does
it mean?
1 2 3 4 5 6 7 8 9 10
11 12 13 14 the_fastest_lang.rb faster.cpp @kalashnikovisme @evilmartians def sum_eq_n?(arr, n) return true if arr.empty? && n == 0 arr.product(arr).reject do |a,b| a == b end.any? { |a,b| a + b == n } end Is this slow?
1 2 3 4 5 6 7 8 9 10
11 12 13 14 the_fastest_lang.rb faster.cpp @kalashnikovisme @evilmartians def some_method sleep Random.rand(1_000_000) end or this?
what is slow? @kalashnikovisme @evilmartians But
@kalashnikovisme @evilmartians What virtual machine is slow?
@kalashnikovisme @evilmartians What virtual machine is slow? (interpreter, runtime)
MRI / YARV - slow ? @kalashnikovisme @evilmartians What virtual
machine? (interpreter, runtime)
MRI / YARV - slow ? @kalashnikovisme @evilmartians JRuby /
JVM - slow ? What virtual machine? (interpreter, runtime)
MRI / YARV - slow ? @kalashnikovisme @evilmartians JRuby /
JVM - slow ? Rubinius - slow ? What virtual machine? (interpreter, runtime)
@kalashnikovisme
@kalashnikovisme
@kalashnikovisme hack yourself
@kalashnikovisme Ruby
@kalashnikovisme Rust
Year of Rust @kalashnikovisme @evilmartians 2022 in the Ruby community
None
None
Proof of concept @kalashnikovisme @evilmartians Let’s make a The fastest
JSON parser Ruby gem ever!!!
https://youtu.be/qxZ2ste7RyA
@kalashnikovisme @evilmartians Ruby Class Magnus Type String RString Integer Integer
Float Float Array RArray Hash RHash Symbol Symbol Class RClass Module RModule
Thanks for watching @kalashnikovisme @evilmartians and don’t forget to subscribe!
@kalashnikovisme @kalashnikovisme kalashnikovisme.medium.com
[email protected]
@evilmartians @evilmartians https://evilmartians.com