Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Ever wished your Rails test suite to complete faster so you don’t waste your time procrastinating while waiting for the green light (or red, who knows—it’s still running)? Have you ever tried increasing the number of parallel workers on CI to solve the problem and reached the limit so there is no noticeable difference anymore? If these questions catch your eye, come to my workshop on test profiling and learn how to identify and fix test performance bottlenecks in the most efficient way. And let your CI providers not complain about the lower bills afterward. I will guide you through the test profiling upside-down pyramid, from trying to apply common Ruby profilers (Stackprof, Vernier) and learn from flamegrpahs to identifying test-specific performance issues via the TestProf toolbox.
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
The workshop "From Slow to Go: Rails Test Profiling" led by Vladimir Dementyev focuses on enhancing the performance of Rails test suites to save time and increase productivity. It addresses common frustrations developers face with slow test executions both in local environments and CI (Continuous Integration). ### Key Points Discussed: - **Test Profiling Basics:** Dmitry begins by explaining the objective of profiling tests to identify and address performance bottlenecks. Effective profiling can dramatically reduce test execution time, thereby improving productivity. - **Challenges with Slow Tests:** Participants often struggle with lengthy test times. Possible reasons include inefficient database configurations, lengthy integration tests, or race conditions leading to delayed feedback loops. - **Introduction of TestProf:** TestProf is discussed as an effective Ruby testing toolbox designed to identify and fix problems within test suites. It helps streamline the optimization process, focusing on speed and enhancing the testing infrastructure. - **Practical Profiling Techniques:** The workshop covers various profiling tools, including StackProf and Vernier, which gather data on test execution. Techniques for using these profiling tools effectively are shared, including sampling strategies to analyze test performance adequately. - **Masteron Project:** Dmitry introduces the Masteron project as a practical example where TestProf has been successfully integrated to identify performance issues in an open-source codebase. Participants work hands-on to apply the principles learned on real-world challenges. - **Iterative Improvement:** The importance of iterating on profiling results is emphasized, encouraging attendees to constantly refine their approaches based on insights gained through profiling data. ### Key Takeaways: - Optimize your test suites to enhance productivity by minimizing run times in both local setups and CI environments. - Utilize tools like TestProf to gain a deeper understanding of testing pipelines and pinpoint issues that lead to inefficiencies. - Keep a collaborative mindset for continuous optimization, documenting changes to improve testing strategies over time. - Remember that effective profiling is an ongoing process that requires systematic approaches and regular adjustments based on findings. In conclusion, attendees are encouraged to implement the techniques discussed to achieve faster testing cycles and better coding practices, reinforcing the goal of becoming more efficient Rails developers.
Suggest modifications
Cancel