I've used Scalene at various times in the past few years, and always liked using it when I want to dig deeper compared to cProfile/profile. You might also want to look at:
I used many times and sometimes I used py-spy. That helped me to improve several projects where people told me there were network problems but it was actually not
If people wonder why there are so many tools for the slowest language on the planet:
In addition to being slow and unsuited for abstractions, people write horrible code with layers and layers of abstractions in Python. These tools can sometimes help with that.
People who do write streamlined code that necessarily uses C-extensions in Python will probably use cachegrind/helgrind/gprof etc.
Or switch to another language, which avoids many categories of other issues.
* with AI-powered optimization proposals
Sigh, why infest everything with "AI".
I've used Scalene at various times in the past few years, and always liked using it when I want to dig deeper compared to cProfile/profile. You might also want to look at:
1] https://github.com/joerick/pyinstrument
2] https://github.com/benfred/py-spy
3] https://github.com/P403n1x87/austin
4] https://github.com/bloomberg/memray
5] https://github.com/pyutils/line_profiler
For profiling memory consider far more advanced memray.
https://github.com/bloomberg/memray
Note: The Windows version currently only supports CPU and GPU profiling, but not memory or copy profiling.
That's a problem with many of the profiling tools around Python. They often support Windows badly or not at all.
Isn’t the modern Windows runtime just Linux anyway?
(Scalene author here) Nope, but WSL2 (Windows Subsystem for Linux) is, and Scalene works great with it.
I used many times and sometimes I used py-spy. That helped me to improve several projects where people told me there were network problems but it was actually not
This profiler was mentioned in the context of rewriting js tools in faster languages here:
https://lobste.rs/s/ytjc8x/why_i_m_skeptical_rewriting_javas...
The rewrite discussion is here: https://news.ycombinator.com/item?id=41898603
Oh! Lobsters is neat!
If people wonder why there are so many tools for the slowest language on the planet:
In addition to being slow and unsuited for abstractions, people write horrible code with layers and layers of abstractions in Python. These tools can sometimes help with that.
People who do write streamlined code that necessarily uses C-extensions in Python will probably use cachegrind/helgrind/gprof etc.
Or switch to another language, which avoids many categories of other issues.
Opening throwaway accounts just to rage against things you don't understand is really shameful.