Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
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 this presentation, John Hawthorn, a Ruby committer and member of the Rails core team, introduces Vernier, a next-generation open-source profiler designed for Ruby 3.2 and above. The profiler focuses on enhancing performance transparency by enabling developers to see where their Ruby programs are spending time and making allocations. Key Points Discussed: - **Overview of Vernier**: Vernier is tailored to provide insights into Ruby programs, similar to how the Firefox profiler aids JavaScript applications. - **Usage Demonstration**: A step-by-step example shows how to measure the performance of 'bundle update' using Vernier's CLI, presenting both timeline and flame graph visualizations. - **Data Representation**: The profiler visualizes performance data through a call tree that helps developers identify which methods are time-consuming, such as string.split, which can be optimized. - **Unique Features**: Vernier combines timing and allocation data into a single profile file, allowing for comprehensive analysis without needing to switch tools. - **Memory Profiling**: The speaker discusses the StackTable class, which efficiently records stack traces without significant Ruby object allocations, enhancing memory profiling capabilities. - **Profiling Techniques**: Vernier utilizes both tracing and sampling profilers, collecting data at runtime while minimizing performance overhead. - **Global VM Lock (GVL) Awareness**: Vernier benefits from Ruby 3.2's GVL instrumentation, allowing for accurate multithreaded profiling without significant overhead. - **Addressing Thread Awareness**: The profiler collects sample data from all active threads and can manage profiling in a production environment without causing noticeable slowdowns, helping developers address issues like GVL contention. - **Real-World Application**: Examples from Bundler demonstrate how Vernier can be utilized to improve code performance proactively, shedding light on common Ruby operations that impact performance. Conclusively, Vernier aims to provide a GVL-aware profiling solution that can access detailed insights into Ruby programs while maintaining minimal impact on performance. Developers are encouraged to explore and utilize Vernier to enhance the performance of their Ruby applications.
Suggest modifications
Cancel