Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyConf 2018 - Practical guide to benchmarking your optimizations by Anna Gluszak Many people believe that ruby applications are inherently slow, yet oftentimes it is the lack of optimization and not the language that is at fault. But how do you even get started with this daunting task of performance optimization? For those that do not have a computer science background, understanding all the different ways of algorithm optimization can sound scary and overwhelming. Some may have a good handle on the theory behind things like the big O notation, but struggle to put it in practice. This talk will focus on a tangible and data driven way to measure and optimize code performance.
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 her talk at RubyConf 2018, Anna Gluszak addresses the essential topic of performance optimization in Ruby applications. Common misconceptions suggest that Ruby itself is slow; however, Anna clarifies that often it is a lack of proper code optimization that leads to performance issues. This presentation is particularly beneficial for developers without a computer science background, as it aims to demystify the process of performance enhancement. Key points covered include: - **Understanding Performance Optimization**: Many developers may not grasp the importance of code performance, leading to slow applications. Anna stresses that while minor performance differences may not always be noticeable to users, significant slowdowns can have detrimental effects. - **Benchmarking Code**: Anna introduces the concept of benchmarking, which involves evaluating the performance of code by comparing old and new implementations. She emphasizes the use of the benchmarking module included in Ruby, explaining various methods such as BM, BM BM, and custom benchmarking techniques. - **Sampling Techniques**: To illustrate performance benchmarking, Anna discusses different sampling methodologies: - Simple random sampling - Stratified sampling - Cluster sampling - Systematic random sampling - Multi-stage sampling These methods help in collecting representative data for assessing performance, especially in the context of an application estimating cat adoption times. - **Practical Examples**: Anna uses a cat shelter application to demonstrate performance differences, with a focus on factors like age and color of the cats that affect adoption times. She shows that performance varies significantly based on how data is sampled and processed, particularly when nested loops and recursion are involved. - **Code Refactoring and Testing**: The talk emphasizes the importance of solid testing prior to refactoring code. Anna advises engaging stakeholders for insights and ensuring any tweaks made improve performance without introducing bugs. The main takeaway from Anna Gluszak's talk is that performance optimization is not just a complex theoretical concept, but a practical necessity that can substantially affect application fluidity and user experience. Developers are encouraged to benchmark frequently, especially before and after significant code changes, to ensure ongoing performance efficiency.
Suggest modifications
Cancel