Py-spy

Dev tools

profiler

SHOW HN2018

286points
43comments
#96of 2,155 in 2018
Top 5%of 2018 by points

How HN took it

LovedMost comments that take a side are positive

9 positive, 10 neutral or asking, 2 mixed, 1 critical, out of 22 comments about the project. Thread score +0.30.

Design: 2 for, 1 againstIdea: 3 for, 0 againstExecution: 2 for, 0 againstPerformance: 2 for, 0 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Easy to install and use, works quickly

    From 3 comments
    • Many thanks for building and releasing this. It's ridiculously easy to install (especially in virtualenvs) and very powerful. When I push '3' or '4', I get informative, stable…
      hathawsh on HN
    • Oh that's great - I had it up and running in 30 seconds.
      SketchySeaBeast on HN
    • This is great! I also took the liberty to add this (and setuptools_rust) to Arch Linux's AUR: https://aur.archlinux.org/packages/python-py-spy
      craftyguy on HN
  • Helped find real performance hotspots

    From 1 comment
    • This is really fantastic. I just managed to find a 3x speedup on a compute heavy job I run using Py-spy - there was an unneeded hotspot in a library I'm using that I didn't…
      TTPrograms on HN
  • Built-in flamegraph and realtime top-style display

    From 2 comments
    • I've been enjoying pyflame from Uber - which the author quotes in their info > The only other Python profiler that runs totally in a separate process is pyflame, which profiles…
      lathiat on HN
    • Great, thanks! And as a slightly different take than that of the person posting the issue - interfaces like kcachegrind are a pretty clunky (if powerful, in their clunky way) -…
      pvg on HN

Objections

  • Requires sudo on macOS

    From 2 comments
    • Gave it a try, and wasn’t expecting to have to execute via sudo on macOS. I almost never use sudo, so this stands out as quite unexpected for a developer tool. Is there something…
      bobwaycott on HN
    • https://github.com/benfred/py-spy#when-do-you-need-to-run-as-sudo tl;dr - yes, it's a limitation(?) of macOS syscalls.
      MetricMike on HN
  • No multiprocessing support clarity

    From 2 comments
    • Does it support python multiprocessing? Basically nothing out there does that I've found, and it's a really major pain-point for me.
      fake-name on HN
    • It says you pass it a pid, so yes
      zzzeek on HN

Requests

  • Ignore time spent in system calls like poll()

    From 2 comments
    • Many thanks for building and releasing this. It's ridiculously easy to install (especially in virtualenvs) and very powerful. When I push '3' or '4', I get informative, stable…
      hathawsh on HN
    • Thanks! Both of your suggestions totally make sense. I've created an issue to track the poll() issue here https://github.com/benfred/py-spy/issues/13 - I think that should be an…
      benfrederickson on HN
  • Export output to KCachegrind format

    From 2 comments
    • Wonderful. Can the data it produces be munged into something KCachegrind can show?
      pvg on HN
    • Not yet - but I'm hoping to have a version that supports this next week. Will update this issue when it's done: https://github.com/benfred/py-spy/issues/3
      benfrederickson on HN
  • Pause button for copying file paths

    From 1 comment
    • Many thanks for building and releasing this. It's ridiculously easy to install (especially in virtualenvs) and very powerful. When I push '3' or '4', I get informative, stable…
      hathawsh on HN

Questions

  • How to interpret the GIL percentage display

    From 2 comments
    • This is a really great tool - the kind I didn't even know that I needed until I was given it! One question, does anyone here know how to interpret the GIL (Global Interpreter…
      jpeanuts on HN
    • Wow, it tracks GIL contention? Major feature for me. I use a lot of Numba, and it releases the GIL if you want — so threading is actually useful.
      toxik on HN
  • Whether it supports Python multiprocessing

    From 1 comment
    • Does it support python multiprocessing? Basically nothing out there does that I've found, and it's a really major pain-point for me.
      fake-name on HN

Alternatives named

  • rbspy

    From 2 comments
    • Check out rbspy https://github.com/rbspy/rbspy (rbspy was the inspiration for this project =)
      benfrederickson on HN
    • Rbspy, the inspiration for this tool, has a similar default output, which you can see in the documentation, https://rbspy.github.io/.
      actuallyalys on HN
  • pyflame

    From 1 comment
    • I've been enjoying pyflame from Uber - which the author quotes in their info > The only other Python profiler that runs totally in a separate process is pyflame, which profiles…
      lathiat on HN
  • yappi

    From 1 comment
  • kernprof

    From 1 comment
    • This is really fantastic. I just managed to find a 3x speedup on a compute heavy job I run using Py-spy - there was an unneeded hotspot in a library I'm using that I didn't…
      TTPrograms on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/17927200)