Skip to content

Conversation

@austinderek
Copy link

In our case, it greatly improves the performance of continuously collecting diff profiles from the net/http/pprof endpoint, such as /debug/pprof/allocs?seconds=30.

This CL is a cherry-pick of my PR upstream: google/pprof#951

Benchmark of profile Parse func:

goos: linux
goarch: amd64
pkg: github.com/google/pprof/profile
cpu: 13th Gen Intel(R) Core(TM) i7-1360P
│ old-parse.txt │ new-parse.txt │
│ sec/op │ sec/op vs base │
Parse-16 62.07m ± 13% 55.54m ± 13% -10.52% (p=0.035 n=10)

     │ old-parse.txt │            new-parse.txt             │
     │     B/op      │     B/op      vs base                │

Parse-16 47.56Mi ± 0% 41.09Mi ± 0% -13.59% (p=0.000 n=10)

     │ old-parse.txt │            new-parse.txt            │
     │   allocs/op   │  allocs/op   vs base                │

Parse-16 272.9k ± 0% 175.8k ± 0% -35.58% (p=0.000 n=10)


🔄 This is a mirror of upstream PR golang#76145

@austinderek austinderek force-pushed the master branch 29 times, most recently from 388c41c to 6764046 Compare November 3, 2025 02:32
@austinderek austinderek force-pushed the master branch 28 times, most recently from eaf28a2 to c37e118 Compare November 3, 2025 19:02
@austinderek austinderek closed this Nov 3, 2025
@austinderek austinderek deleted the pprof-profile-parse-perf branch November 3, 2025 19:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants