AI-powered
podcast player
Listen to all your favourite podcasts with AI-powered features
Profiling Multi-Threaded Code in Ruby with Vernier
The chapter explores the challenges of profiling multi-threaded code in Ruby due to the Global VM Lock (GVL) limitations and how the new profiler, Vernier, addresses this issue by being multi-thread aware. It discusses the workings of Vernier compared to StackProf, highlighting how Vernier's sampling approach provides more detailed insights into the performance of concurrent applications. Additionally, the chapter delves into the concept of retained memory in profiling and explains how Vernier utilizes flame graphs to visualize and interpret memory overhead in the application.