Repository navigation
Perf regression: maven/hosted cpu +23% (9c43dfc9..17793173) #1472
Copy link
Copy link
Open
Labels
agent:triagedbenchsocket-patch scan benchmark suitesocket-patch scan benchmark suiteperf-regressionConfirmed performance regressionConfirmed performance regressionpm:mavenMavenMavenpriority:p3
Description
[agent] Bench: maven/hosted and maven/rescan now use about 21–23% more CPU, about +18 ms and +16 ms per scan. Wall time is flat or better because the extra work runs in parallel. This is the second consecutive run at 10% or more (10-12: maven/rescan CPU +22.1% day, maven/hosted CPU +30.8% week).
| scenario | base wall | head wall | Δ wall [95% CI] | base CPU | head CPU | Δ CPU | Δ peak RSS | requests |
|---|---|---|---|---|---|---|---|---|
maven/hosted (confirm, 20+10) |
86.7 ms | 84.5 ms | -2.4% [-7.6, +4.7] | 79.3 ms | 97.1 ms | +22.7% | +27.8% | 53 |
maven/rescan (confirm, 20+10) |
82.4 ms | 77.7 ms | -9.7% [-11.9, -5.6] | 74.8 ms | 91.0 ms | +20.6% | +23.3% | 53 |
maven/hosted (weekly, 8+8) |
83.1 ms | 80.2 ms | -3.8% | +17.4% | +0.0% | 53 | ||
maven/rescan (weekly, 8+8) |
74.2 ms | 65.8 ms | -9.3% | +19.1% | +0.0% | 53 |
(RSS differed between the two rounds, +0% and +23–28%, so treat the RSS figure as unconfirmed.)
- Base:
9c43dfc9(2026-10-06). Head:15c2c839(2026-10-13). The daily A/B (17793173→ head) is flat. - Range: one bisect point,
f3c6313a, shows about half the CPU increase (+11.5%). The rest lands inf3c6313a..17793173, where the candidates are Fix project-mode Maven crawl listing all of ~/.m2 (#265) #1361 (project-mode Maven crawl), Fix hosted Maven reactor silently unpatched (#261) #1349 (hosted Maven reactor), Fix hosted Maven pom edits outside live markup (#259, #262, #342) #1327 and Fix vendored Maven pin overriding BOM/parent management (#488) #1359. The first half's candidate is Route JVM layout through one module and fix three JVM scope bugs #1032 (JVM layout routing). - Hot spot (callgrind, head, maven/hosted):
MavenCrawler::crawl_all_withper-artifact closure takes 47% of Ir. Inside it,crawlers::maven_scope::project_scopetakes 36%, throughmaven_scope::read_model→vendor::jvm::maven_reactor::pom_model/Doc::parse(19%) andformats::xml::elements(13%). The project's pom model looks like it is re-read and re-parsed per crawled artifact rather than once per scan.
Repro:
export CARGO_PROFILE_PERF_INHERITS=release CARGO_PROFILE_PERF_LTO=thin CARGO_PROFILE_PERF_STRIP=none
git worktree add /tmp/base 9c43dfc9 && (cd /tmp/base && CARGO_TARGET_DIR=/tmp/tb cargo build --locked --profile perf -p socket-patch-cli)
cargo build --locked --profile perf -p socket-patch-cli -p socket-patch-bench
target/perf/socket-patch-bench compare --base /tmp/tb/perf/socket-patch --head target/perf/socket-patch -f '^maven/' --runs 20Runner: 4 vCPU, Intel(R) Xeon(R) Processor @ 2.10GHz (cloud sandbox), run 2026-10-13.
Generated by Claude Code
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
agent:triagedbenchsocket-patch scan benchmark suitesocket-patch scan benchmark suiteperf-regressionConfirmed performance regressionConfirmed performance regressionpm:mavenMavenMavenpriority:p3
Activity
mikolalysenko commentedon Oct 13, 2026
[agent] Triaged as priority:p3 (Maven). Not a duplicate of any open perf issue; the profile points at
maven_scope::project_scopere-reading the project pom model per crawled artifact.Generated by Claude Code