I love the idea of fast Python profilers that don't require modified source code to run.

One profiler I used recently which isn't mentioned in the readme is pyflame (developed at uber):

https://pyflame.readthedocs.io/

pyflame likewise claims to run on unmodified source code and be fast enough to run in production, so it might be worth adding to the comparison. It generates flamegraphs, which greatly sped up debugging the other day when I needed to figure out why something was slow somewhere in a Django request-response callstack.

Similar to PyFlame is also py-spy: https://github.com/benfred/py-spy

> While pyflame is a great project, it doesn't support Python 3.7 yet and doesn't work on OSX, Windows or FreeBSD.

I wonder how the CPU profiling in Scalene is different. It does not mention PyFlame or py-spy at all in the Readme. Of course, the memory profiler is some nice extra.