Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore a conference talk that delves into the performance challenges of Ruby and presents innovative solutions to enhance its speed. Discover why Ruby has gained a reputation for being slow and learn about Topaz, a high-performance Ruby VM built on PyPy technologies. Gain insights into the specific factors that contribute to Ruby's sluggishness, including method dispatch, constant lookups, and allocation of primitives on the heap. Examine optimized versions of Ruby code and understand how to build efficient systems using dynamic languages. Compare Ruby's object model with Python primitives and explore concepts such as promotion, quasi-immutability, and lightability. Analyze benchmark results, discuss the complexity of C extensions, and learn about cutting-edge techniques to improve Ruby's performance. Delivered by Alex Gaynor, a software engineer at Rackspace and contributor to various open-source projects, this talk provides valuable knowledge for developers seeking to optimize Ruby applications and understand the intricacies of language performance.
Syllabus
Introduction
Ruby is slow
CPU bound tasks
Common answers
Ruby can be fast
Why is Ruby slow
Indirect function calls
Fast Ruby
Our Python
Our Function
Dynamic Languages
Ruby Object Model
Python Primitives
Lightability
Promotion
Quasiimmutability
Building a system
Optimized version
Sending methods
Fine method
Three instructions
Topaz
Constants
Links
Benchmark Results
Complexity
C Extensions
Hints
Cutting Corners
Missing Parts
Taught by
Strange Loop Conference