Talks
Speakers
Events
Topics
Search
Sign in
Search
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
search talks for
⏎
Suggest modification to this talk
Title
Description
It's just a fact that as a baseline, Ruby is not the fastest language or platform out there. We've always been comfortable with the trade of raw speed for the thrill and happiness of development. We can however, be completely left in the dark when an application is in production and needs to grow to meet the requests of a very demanding audience. Ruby 2.1 has begun to provide hope for the future of Ruby, especially large production Ruby applications, by exposing new features and hooks for debugging performance problems. Though Ruby hasn't become as fast as other dynamic languages (yet) at least now we can build and use some of these new tools to make our applications as fast as possible. I'd like to share an overview of these new features as well as some tooling and problems we've faced at Paperless Post as we've scaled, and how we've tried to use Ruby to solve them. I'm extremely excited about the potential of Ruby 2.1, not just the tools it exposes, but what it means for the future of Ruby performance tooling. Now that there are a number of people working on Ruby who are concerned about its speed and performance visibility, these tools are only going to get better. I'd like to introduce the new Ruby features, then walk through some custom performance tooling we've been working on through real world examples. (Some) of the topics I'd like to cover: Brief overview of new Generational GC Object Space dumps Analyzing Object Space dumps Using the object allocation maps Rblineprof and ppprofiler StackProf rbtrace and attaching to a Unicorn I'll also give a sneak preview of some tools we've been working on that are not Open Source (yet) which I'd like to share. Help us caption & translate this video! http://amara.org/v/FGZA/
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the presentation titled "The Future of Ruby Performance Tooling," Aaron Quint discusses the evolution of Ruby's performance capabilities, especially with the introduction of Ruby 2.1. He emphasizes the necessity of improving application performance for both user experience and cost-effectiveness at production levels. The talk addresses a variety of performance tools, new features, and personal experiences at Paperless Post while scaling their Ruby applications. **Key Points Discussed:** - **Importance of Performance:** Performance is vital not only for user experience metrics (like page load times) but also affects operational costs. Quicker applications lead to lower server requirements and resource savings. - **Historical Context:** Ruby's development has prioritized developer ease, often at the expense of performance for large applications. However, there has been a recent shift, particularly with increased operator contributions to Ruby’s development. - **Introspection Tools:** Ruby now has enhanced introspection APIs which are essential for performance management in large-scale applications. - **Categorization of Tools:** Quint likens performance tools to a D&D scoring system, discussing various tools: - **ActiveSupport Notifications:** Effective for tracking time for specific code execution, though its detailed tracking can impact performance. - **rblineprof:** A line profiler that helps identify performance bottlenecks on a per-line basis within the application code, but is not recommended for production use due to its overhead. - **pp_profiler:** Designed for local development, this tool benchmarks execution time and fosters team collaboration by generating readable results. - **StackProf:** A sampling profiler ideal for identifying hotspots in applications with minimal performance impact, offering insights through flame graphs. - **Generational Garbage Collection:** Recent Ruby updates feature improvements like the ObjectSpace API for memory inspection, enabling developers to address memory leaks and optimize memory usage. Quint expresses optimism about the future trajectory of Ruby performance tooling, influenced by successful concepts from other languages like Go. He concludes by encouraging developers to focus on effective introspection and utilize various tools at their disposal to enhance application performance. The overall message emphasizes a collective move toward better performance management in Ruby development.
Suggest modifications
Cancel