stackprof
speedscope
stackprof | speedscope | |
---|---|---|
6 | 5 | |
2,045 | 5,206 | |
- | - | |
5.7 | 7.0 | |
2 months ago | 16 days ago | |
Ruby | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
stackprof
-
A Trick For Reading Flamegraphs
stackprof can be used alone/by itself to generate flamegraphs for arbitrary Ruby code.
-
Why do my requests take so much time to complete when View and ActiveRecord are finishing fast?
I’d use something like stackprof ( https://github.com/tmm1/stackprof ) to see where the time is going. If you already have suspicions you can use it to get information about a specific method / few lines of Ruby but there’s also a rack middleware.
-
Ok y’all. How can we get this kind of real-time memory profiling in Ruby? Does it already exist? Is anyone working on this?
stackprof
-
Optimizing your tests in 5 steps
Other profilers, such as stackprof, trace everything that’s happening by line. These types of profilers usually need some instrumentation to be configured, as shown below:
-
Is there a more efficient way to do these permutation calculations?
Either https://github.com/tmm1/stackprof for cpu or https://github.com/SamSaffron/memory_profiler for memory. In practice profiling and removing allocations also gives a large perf boost.
-
Automatically benchmark methods used within Rails
At first, I tried to benchmark the method using the benchmark library. (The profiler uses stackprof)
speedscope
-
Speeding up the JavaScript ecosystem – Polyfills gone rogue
Glad to hear you like it! Those flame graph screenshots are taken from https://www.speedscope.app/ .
- Speedscope (An Interactive Flamegraph Visualizer)
-
Speeding up the JavaScript ecosystem - one library at a time
Looks like speedscope. https://www.speedscope.app/
-
A Trick For Reading Flamegraphs
Flamegraphs simply visualize this process by placing each of these recorded stacks side by side. The resulting visualization looks like "flames", hence a "flame graph". If you do this visualization where the "parent" of all the stack frames is on the top, rather than the bottom, you get a "waterfall graph", because it looks like a waterfall. It's the same thing though. Speedscope and DevTools visualize using the waterfall format, but I still call them flamegraphs anyway.
-
Performance Profiling a Mongoid Issue Using AppProfiler
While doing research on Ruby profiling I found Shopify's blog post on "How to Fix Slow Code in Ruby". Though the entire post was extremely insightful, it lead me to Shopify's app_profiler library, which can be used to automatically profile code and redirect the output to a local instance of speedscope. Having worked previously with Flame Graphs of CPU stack traces collected using perf.
What are some alternatives?
rbtrace - like strace, but for ruby code
FlameGraph - Stack trace visualizer
memray - Memray is a memory profiler for Python
Microsoft-Performance-Tools-Linux-Android - Linux, Android and Chromium Performance Tools built using the Microsoft Performance Toolkit. Cross-platform .NET Core + WPA GUI
MemoryProfiler - memory_profiler for ruby
app_profiler - Collect performance profiles for your Rails application.
rbspy - Sampling CPU profiler for Ruby
nolyfill - Speed up your package installation process, reduce your disk usage, and extend the lifespan of your precious SSD.
Rbenchmarker - Automatically log benchmarks for all methods
eslint-plugin-import - ESLint plugin with rules that help validate proper imports.
curses - Ruby binding for curses, ncurses, and PDCurses. Formerly part of the ruby standard library.
ljharb