Ruby Video
Talks
Speakers
Events
Topics
Leaderboard
Sign in
Talks
Speakers
Events
Topics
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyConf 2016 - Slo Mo by Richard Schneeman No one wants to be stuck in the slow lane, especially Rubyists. In this talk we'll look at the slow process of writing fast code. We'll look at several real world performance optimizations that may surprise you. We'll then rewind to see how these slow spots were found and fixed. Come to this talk and we will "C" how fast your Ruby can "Go".
Date
Summary
Markdown supported
In the talk titled "Slo Mo" presented by Richard Schneeman at RubyConf 2016, the theme revolves around the paradox of achieving speed in programming by taking a slower, more measured approach to writing code. The talk begins with Schneeman reflecting on societal norms and personal goals, highlighting the importance of reassessing what success truly means. He introduces concepts of personal fulfillment through lower-paced activities, as exemplified by Dr. John Kitchen, who found happiness in skating rather than traditional measurements of success. The core discussion then shifts to programming performance, specifically focusing on the Sprockets library, which is essential for asset management in Ruby applications. Key points discussed include: - **Importance of Measuring Performance**: Slow code can sometimes yield faster results when measured and analyzed properly. - **Profiling with StackProf**: This tool is used to assess the performance of the Sprockets compilation process; it reveals where time is being consumed the most. - **Identifying Bottlenecks**: The analysis discovers that the method 'set include' is a significant contributor to slow performance due to its extensive recursive calls. - **Optimization Strategies**: Suggestions include avoiding unnecessary hash wrapper layers around data structures and directly using hashes, which can enhance execution speed. - **Results of Optimizations**: Simple optimizations led to performance improvements; for example, a reduction in execution time from 18 seconds to 17.9 seconds, demonstrating that small changes can result in tangible benefits. - **Collaborative Nature of Optimization**: Emphasizing the importance of community discussions among developers to share insights and promote continuous learning in Ruby development. - **Long-Term Mindset**: Encouraging viewers to embrace performance improvement as a journey rather than a singular goal. Schneeman concludes that while individual programming languages evolve, interaction within the community and a commitment to improving one's craft remain essential. He invites attendees to keep exploring optimizations and learning collaboratively within the Ruby ecosystem, ultimately transforming both their programming practices and personal development in the process.
Suggest modifications
Cancel