Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
This talk introduces Vernier: a new sampling profiler for Ruby 3.2+ which is able to capture more details than existing tools including threads, ractors, the GVL, Garbage Collection, idle time, and more!
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 his keynote speech at RailsConf 2024, John Hawthorn introduces Vernier, a new open-source sampling profiler designed for Ruby 3.2 and beyond, which offers in-depth insights into program performance. This presentation emphasizes the distinction between performance work and regular feature development, highlighting key aspects of performance measurement and optimization. **Key Points Discussed:** - **Understanding Performance Work:** Hawthorn describes performance as a continuous measurement effort, unlike the satisfaction of completing feature tasks. He stresses that understanding performance leads to better code comprehension and potential discoveries about application security. - **Ruby and Rails Performance:** The speaker defends Ruby and Rails against criticism regarding their efficiency, citing significant advancements made in newer versions and the capabilities that facilitate scalability, like multi-database and sharding support. - **Key Misconceptions:** Many developers hold outdated views of Ruby’s performance, often based on older versions. Hawthorn emphasizes the importance of updating these perceptions to reflect the improvements brought by newer implementations, including JIT compiler enhancements. - **Optimizing Effectively:** The talk promotes the idea that while Ruby allows for writing less efficient code, it’s vital to focus optimization efforts on parts of the code that matter. Hawthorn references Donald Knuth’s famous quote regarding premature optimization, arguing for a balanced approach. - **Introducing Vernier:** Vernier combines timing and allocation data into a single profile. The tool helps developers visualize performance bottlenecks, using graphs and timelines to display where time is being spent in a Ruby application. - **Demo of Vernier:** A demonstration showcases how Vernier profiles a `bundle update` command, revealing that certain operations like `String#split` can unwittingly become performance sinks due to their excessive invocation. - **Advanced Profiling Features:** Vernier incorporates information about Ruby’s GVL (Global VM Lock) activity and garbage collection, enriching the profiling experience. The profiler details when threads are executing, blocked, or suspended, enabling more nuanced performance investigations. **Conclusion and Takeaways:** Hawthorn concludes by reinforcing the idea that performance profiling should be seen as an opportunity to understand and optimize applications rather than merely a challenge to overcome. He encourages developers to leverage tools like Vernier to enhance their coding efficiency and the overall effectiveness of the Ruby ecosystem, fostering a collaborative learning environment. Overall, the keynote emphasizes the importance of performance in development, the necessity of modern profiling tools, and a proactive mindset towards optimizing Ruby applications.
Suggest modifications
Cancel