Peter Zhu - Rails and the Ruby Garbage Collector: How to Speed Up Your Rails App - Rails World 2023

Поділитися
Вставка
  • Опубліковано 18 жов 2023
  • The Ruby garbage collector is a highly configurable component of Ruby. However, it’s a black box to most Rails developers.
    In this talk, @shopify Senior Developer & member of the Ruby Core team Peter Zhu shows you how Ruby's garbage collector works, ways to collect garbage collector metrics, how Shopify sped up their highest traffic app, Storefront Renderer, by 13%, and finally, introduces Autotuner, a new tool designed to help you tune the garbage collector of your Rails app.
    Slides available at: blog.peterzhu.ca/assets/rails...
    Links:
    rubyonrails.org/
    railsatscale.com/2023-08-08-t...
    github.com/shopify/autotuner
    blog.peterzhu.ca/notes-on-rub...
    shopify.engineering/adventure...
    #RailsWorld #RubyonRails #rails #rubygarbagecollection #autotuner
    Thank you Dell APEX for sponsoring the editing and post-production of these videos. Visit them at: dell.com/APEX

КОМЕНТАРІ • 5

  • @mathieueustachy5380
    @mathieueustachy5380 4 місяці тому +2

    Thanks for this amazing talk.
    For reader's knowledge, Ruby heap pages were 16kb for a long time (you will find a lot of resources saying they are 16kb) but this changed in late 2022 with Ruby 3.2 to 64kb, the update was made by Peter Zhu (speaker) :)

  • @yurtle1851
    @yurtle1851 7 місяців тому +2

    autotuner looks awesome

  • @edwingarcia5043
    @edwingarcia5043 6 місяців тому

    Very informative and helpful talk, Peter, thanks.!

  • @pedroa5720
    @pedroa5720 7 місяців тому +1

    Great talk, Thanks for the gem!

  • @edwingarcia5043
    @edwingarcia5043 6 місяців тому +2

    At 24:40 (out of band GC:
    I think this calls for introducing an arena garbage collector in Ruby.
    The area gets created at the beginning of the request, and it then freezes the memory it allocated at the end of the request.
    We would get fine memory control in this type of situations where me know to some extend the lifetime of objects.
    For reference we can look at Java's new Memory API (from project Panama).