Skip to content

perf(collect): parallelize source_lines pprof -list extraction#116

Merged
AlexsanderHamir merged 5 commits into
mainfrom
perf/parallel-source-lines
Jul 7, 2026
Merged

perf(collect): parallelize source_lines pprof -list extraction#116
AlexsanderHamir merged 5 commits into
mainfrom
perf/parallel-source-lines

Conversation

@AlexsanderHamir

Copy link
Copy Markdown
Owner

Summary

  • Add a bounded worker pool for per-function go tool pprof -list extraction during step 3 of collect.
  • Parallelize source_lines collection across profile kinds (cpu, memory, etc.).
  • Document the concurrency model in a new ADR and contributor docs.

Design

See docs/design/source-lines-parallelism.md

Test plan

  • go test ./...
  • golangci-lint run
  • Manual: diff source_lines before/after on BenchmarkFibonacci (optional)

Risk

Subprocess fan-out is capped at 8 workers per layer; output artifacts and filters are unchanged.

Made with Cursor

AlexsanderHamir and others added 5 commits July 6, 2026 17:21
Introduce a worker-pool helper for source_lines subprocess fan-out with a capped concurrency policy based on GOMAXPROCS.

Co-authored-by: Cursor <cursoragent@cursor.com>
Fan out source_lines extraction across a bounded worker pool while preserving index-ordered warning semantics.

Co-authored-by: Cursor <cursoragent@cursor.com>
Collect cpu, memory, and other profile kinds concurrently during step 3 of the auto pipeline.

Co-authored-by: Cursor <cursoragent@cursor.com>
Add an ADR and update contributor docs for bounded pprof -list fan-out during step 3.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@AlexsanderHamir
AlexsanderHamir merged commit e1e50b9 into main Jul 7, 2026
3 checks passed
@AlexsanderHamir
AlexsanderHamir deleted the perf/parallel-source-lines branch July 7, 2026 00:31
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.

1 participant