Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tasdikrahman/0e85b3f01924ac9ba29a4cbcb22e404b to your computer and use it in GitHub Desktop.
Save tasdikrahman/0e85b3f01924ac9ba29a4cbcb22e404b to your computer and use it in GitHub Desktop.

Ruby and Python profilers

CPU profilers

Python

Ruby

heap analyzers / memory profilers

Ruby

Python

Frontends

various tools for injecting code into ruby / python processes or tracing

(definitely out of scope, but interesting)

ideas/thoughts by email

  • automatically save results to disk (cf https://github.com/garybernhardt/readygo)
  • ability to use it in production is key
  • "I am working on a Rust thing to make Rails faster and am frustrated that I can't use the same profiling tools to measure before/after. (Instruments can't see into Ruby, stackprof can't see past FFI) "
  • "the things that ruby has been missing since forever are":
    • a way to get a stacktrace dump of all threads (which is easy)
    • information about which thread was running at the time of said dump
    • information about which threads are actively trying to get scheduled (e.g. they have work to do), threads that are waiting on IO to complete, and threads that are waiting for mutexes to become available.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment