ruby-prof v1.0.0 Release Notes

Release Date: 2019-07-29 // over 4 years ago
  • ๐Ÿ‘€ ruby-prof's development stretches all the way back to 2005. Fourteen years later, it seems time for version 1.0! ๐Ÿ”– Version 1.0 is a significant update that greatly improves the internals of ruby-prof and adds a number of improvements.

    ๐Ÿ”„ Changes (Charlie Savage):

    • Profiling is significantly faster - 5x in some cases
    • Recursive profiles are finally handled correctly. Yeah!!!
    • Redesigned reports (Chirs Whitefield)
    • ๐Ÿ†• New documentation website (https://ruby-prof.github.io)
    • ๐Ÿ’Ž The ability to measure allocations and memory usage using a standard (unpatched) version of ruby
    • The ability to save and reload profiling results for later analysis
    • The ability track object allocations

    ๐Ÿšš At the same time, it was also time to remove old code and deprecated methods. These changes include (Charlie Savage):

    • โฌ‡๏ธ Drop support for old versions of ruby. Currently 2.4 and up are required.
    • โœ‚ Remove support for method elimination (instead use method exclusion).
    • Remove the CPU_TIME measurement mode since it duplicates the PROCESS_TIME mode and required inline assembly code
    • Remove the GC_TIME and GC_RUNS measurement modes since they required patched ruby versions. In modern ruby it is possible to reimplement this functionality, but it does not seem of that much value (shout out if you want it back).
    • ๐Ÿ”€ Merge the RubyProf::FlatPrinterWithLineNumbers printer into RubyProf::FlatPrinter.
    • Removed support for RUBY_PROF_EDITOR_URI environment variable that specified the link scheme. This features was more confusing then helpful.