pytest-codspeed
FlameGraph
pytest-codspeed | FlameGraph | |
---|---|---|
6 | 59 | |
100 | 18,649 | |
2.0% | 0.6% | |
8.2 | 1.3 | |
about 1 month ago | 11 months ago | |
Python | Perl | |
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.
pytest-codspeed
- Show HN: P99.chat – Chat for Performance Measurement
- Show HN: P99.chat – the assistant for software performance optimization
-
Ask HN: Who is hiring? (March 2025)
CodSpeed | Founding AI Engineer | On-site (Paris) / Remote (Europe) | Full-time | https://codspeed.io
We're building software performance optimization tools to optimize and measure code performance before it is deployed to production. We avoid regressions that impact UX and help developers solve their performance issues faster. We're already live and trusted by top-tier open-source project teams such as Pydantic, Ruff, and Prisma.
We’re at an exciting early stage and looking for talented engineers who share our passion for helping to enhance the performance of software used by billions, improving the software development lifecycle, and building tools we love to use ourselves.
Apply at https://codspeed.notion.site/Founding-AI-Engineer-cd1bf4fd73...
- CodSpeed – integrated CI tool for performance testing
-
Pinpoint performance regressions with CI-Integrated differential profiling
pytest-codspeed, plugin for pytest
FlameGraph
-
Decreasing Gitlab repo backup times from 48 hours to 41 minutes
https://github.com/brendangregg/FlameGraph
You record performance data with `perf`, then use the scripts there to turn it into a SVG.
-
AWS Lambda Profiler Extension for Java- Part 1 Introduction
If you'd like to know more about the flame graphs in general you can you the collection of resources of Brendan Gregg Flame Graph who contributed a lot in this area.
-
Try Postgres Cloud
You may find yourself in need of flamegraphs for software in this repository. You can use flamegraph-rs or the original flamegraph.pl. Your choice!
-
A curious case of O(N^2) behavior which should be O(N) (2023)
The timeline view in the upper screenshot is fairly straightforward: the region of 28-53s is selected, other parts of the timeline are grayed out, and the statistics for the selected time region down below show 94.4% of "Total CPU" being in id_sort_by_name.
The lower screenshot is a flame graph. If you haven't encountered one of those before, it's totally reasonable to not know how to read it. But it's a standard and common way to present this sort of data. See https://www.brendangregg.com/flamegraphs.html for more information.
-
Page Sized Writes
Looking at the result for aligned writes, it takes 6.3s in total to complete. Of this, 0.3s is used in user land with 6s used by the system in kernel space(syscalls). In order to make sense of the results, I profiled and collected the stacks traces for analysis. The call stacks can be visualized in the flamegraphs as shown below
-
Ask HN: Going low-level – what to learn next?
If you want to "go low" in the operating system, you could write a Linux kernel module:
https://sysprog21.github.io/lkmpg/
https://blog.sourcerer.io/writing-a-simple-linux-kernel-modu...
If you want to "go low" in the way hardware works, you could try and write an interrupt handler on an embedded device.
If you want to "go low" in how optimizations work in application development, you could try and implement microbenchmarks and look at flamegraphs.
https://github.com/brendangregg/FlameGraph
https://bheisler.github.io/criterion.rs/book/index.html
-
JVM Profiling in Action
We'll use async-profiler and flame graphs for profiling. To simplify the process, we'll run the code using JBang.
-
Memray – A Memory Profiler for Python
And flame graphs excel and this kind of thing
https://www.brendangregg.com/flamegraphs.html
-
All my favorite tracing tools: eBPF, QEMU, Perfetto, new ones I built and more
which can output in a format understood by Brendan Gregg's flame frames (https://www.brendangregg.com/flamegraphs.html)
But that's not quite the kind of tracing you're talking about. We also built a printf-style interface to our recording files, which seems closer:
-
Recap of Werner Vogels' Keynote at re:Invent 2023
Strategies included discontinuing or resizing underutilized services, transitioning to more cost-effective solutions, reducing the current resources to the amount of resources that we need for our application, and conducting detailed analyses of computing resource utilization through tools like flamegraphs. This detailed scrutiny helped identify and rectify significant cost-driving areas, such as garbage collection and application configurations.
What are some alternatives?
pytest-benchmark - pytest fixture for benchmarking code
hotspot - The Linux perf GUI for performance analysis.
less_slow.py - Playing around "Less Slow" coding practices in Python, from numerical micro-kernels to coroutines, ranges, and polymorphic state machines
HeatMap - Heat map generation tools
pyperf - Toolkit to run Python benchmarks
speedscope - 🔬 A fast, interactive web-based viewer for performance profiles.