034 RR Benchmarking and Profiling

    0
    286

    00:40 – Aaron Patterson Introduction

    01:15 – Objects on Rails by Avdi Grimm

    04:40 – Benchmarking

    05:50 – Profiling, Benchmarking vs Profiling

    07:53-  Managing Maintainability

    • Maintainable code > Fast code

    09:48 – “Easier to optimize correct code than it is to correct optimized code”

    12:17 – When do you do benchmarking and measure?

    13:31 – “Twitter Limit”

    15:16 – Startup and Test Speed

    15:40 – “Isn’t for amateurs”

    17:17 – Evan Phoenix's Benchmark Suite Gem

    19:23 – Accuracy

    • What are you measuring?
    • What else is happening?

    21:10 – Wet stones and dry stones

    • Mistakes
    • Don't build toward your benchmarks. Let your benchmarks tell you what's going on.
    • Printing benchmarks to the terminal – measures the write to the terminal too

    22:55 – Misleading Aspects with Benchmarks

    25:40 – Tools for Profiling

    26:17 – Code Coverage

    • require ‘coverage' for code coverage
    • example:  simple_cov

    28:15 – Other Systems That Profile

    28:38 – How You Profile Ruby Virtual Machine

    35:04 – Test the Benchmarks You're Given

    39:03 – Communicate The Process

    39:20 – Rails' Startup Time Profiling

    • to_s
    • sub-shells (shelling out to find or run commands)
    • finding javascript runtimes

    44:30 – Using gemspec.erb Method