ci(pacquet): drop pnpm comparison and self-compare on main from integrated-benchmark#11913
Conversation
…rated-benchmark The pnpm-CLI baseline was useful while pacquet was slower than pnpm; now that pacquet is the perf target itself, comparing against pnpm on every run is noise. Drop --with-pnpm from every scenario step. When the workflow runs on main, HEAD and main point at the same commit, so a HEAD-vs-main comparison is wasted work. Resolve the target list at job level: pacquet@HEAD on main, pacquet@HEAD pacquet@main everywhere else (PRs, workflow_dispatch from non-main). The Bencher upload already filters to pacquet@HEAD, so the single-target result still lands on the main baseline as before.
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📜 Recent review details⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
🔇 Additional comments (1)
📝 WalkthroughWalkthroughThe PR refactors the pacquet integrated-benchmark workflow to consolidate revision selection logic. A single ChangesBenchmark targets consolidation
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Integrated-Benchmark Report (Linux)Scenario: Isolated linker: fresh restore, cold cache + cold store
BENCHMARK_REPORT.json{
"results": [
{
"command": "pacquet@HEAD",
"mean": 2.0552335305200002,
"stddev": 0.0936138660192771,
"median": 2.00791386602,
"user": 2.7699551999999996,
"system": 3.3691086599999998,
"min": 1.95318441952,
"max": 2.2204245355200003,
"times": [
2.1400786375200003,
2.16707077552,
1.97912030352,
1.9999919665199999,
2.10044333652,
1.98995399352,
1.98623157152,
2.2204245355200003,
1.95318441952,
2.0158357655200003
]
},
{
"command": "pacquet@main",
"mean": 2.0057261967200004,
"stddev": 0.05156806828520102,
"median": 2.00638999802,
"user": 2.7711456999999995,
"system": 3.3834619599999995,
"min": 1.9293613105199998,
"max": 2.0760373965200003,
"times": [
1.9293613105199998,
1.98019352752,
2.0647952215200003,
2.0303184885200003,
1.9529336955199998,
2.03012828052,
1.95800199752,
1.98265171552,
2.0528403335200003,
2.0760373965200003
]
}
]
}Scenario: Isolated linker: fresh restore, hot cache + hot store
BENCHMARK_REPORT.json{
"results": [
{
"command": "pacquet@HEAD",
"mean": 0.67541953542,
"stddev": 0.034296954161683144,
"median": 0.66533489772,
"user": 0.37403485999999997,
"system": 1.4679447799999998,
"min": 0.65783731022,
"max": 0.7718112032200001,
"times": [
0.7718112032200001,
0.66454936322,
0.67157838422,
0.67207370722,
0.65783731022,
0.67069743922,
0.66030275222,
0.6580454142200001,
0.66117934822,
0.6661204322200001
]
},
{
"command": "pacquet@main",
"mean": 0.6748967373200001,
"stddev": 0.015336744623631136,
"median": 0.6708650487200001,
"user": 0.37445645999999994,
"system": 1.4783494799999999,
"min": 0.66056771022,
"max": 0.71631550722,
"times": [
0.71631550722,
0.66627696222,
0.67378370422,
0.67127264722,
0.66926970222,
0.6734122422200001,
0.67045745022,
0.66056771022,
0.67887906422,
0.6687323832200001
]
}
]
}Scenario: Isolated linker: fresh install, cold cache + cold store
BENCHMARK_REPORT.json{
"results": [
{
"command": "pacquet@HEAD",
"mean": 3.3652810343399993,
"stddev": 0.08476999032473646,
"median": 3.33877414894,
"user": 5.231308919999999,
"system": 3.5065959199999996,
"min": 3.2867022214399997,
"max": 3.5809562314399996,
"times": [
3.4078244924399996,
3.2867022214399997,
3.30966420044,
3.33225335544,
3.38415962244,
3.37632945244,
3.5809562314399996,
3.3177420834399998,
3.31188374144,
3.34529494244
]
},
{
"command": "pacquet@main",
"mean": 3.3767228124399997,
"stddev": 0.18876391474752963,
"median": 3.29677954994,
"user": 5.24605982,
"system": 3.4707005200000003,
"min": 3.2531842164399998,
"max": 3.8825115044399996,
"times": [
3.25559950144,
3.2531842164399998,
3.4095139624399997,
3.29456691144,
3.26591931344,
3.4186475444399997,
3.3937260704399996,
3.29732090044,
3.8825115044399996,
3.29623819944
]
}
]
}Scenario: Isolated linker: fresh install, hot cache + hot store
BENCHMARK_REPORT.json{
"results": [
{
"command": "pacquet@HEAD",
"mean": 2.5517756103600004,
"stddev": 0.0938740693752885,
"median": 2.54691007096,
"user": 2.84555574,
"system": 2.21699244,
"min": 2.42460556896,
"max": 2.68372030496,
"times": [
2.6751960549600002,
2.56635132896,
2.6180220119600004,
2.6036890199600005,
2.44001135696,
2.5234322929600004,
2.52746881296,
2.42460556896,
2.68372030496,
2.45525935096
]
},
{
"command": "pacquet@main",
"mean": 2.54339134126,
"stddev": 0.09369671614836934,
"median": 2.5148498884600006,
"user": 2.7974379399999996,
"system": 2.27247814,
"min": 2.43189067596,
"max": 2.7323175719600004,
"times": [
2.5057481009600004,
2.6208836429600004,
2.4743634249600004,
2.5239516759600003,
2.62277849096,
2.43189067596,
2.4504626159600003,
2.5761736009600003,
2.49534361196,
2.7323175719600004
]
}
]
} |
|
| Branch | pr/11913 |
| Testbed | pacquet |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| isolated-linker.fresh-install.cold-cache.cold-store | 📈 view plot 🚷 view threshold | 3,365.28 ms(-30.76%)Baseline: 4,860.02 ms | 5,832.03 ms (57.70%) |
| isolated-linker.fresh-install.hot-cache.hot-store | 📈 view plot 🚷 view threshold | 2,551.78 ms(-33.11%)Baseline: 3,814.81 ms | 4,577.78 ms (55.74%) |
| isolated-linker.fresh-restore.cold-cache.cold-store | 📈 view plot 🚷 view threshold | 2,055.23 ms(-12.75%)Baseline: 2,355.68 ms | 2,826.81 ms (72.70%) |
| isolated-linker.fresh-restore.hot-cache.hot-store | 📈 view plot 🚷 view threshold | 675.42 ms(+2.67%)Baseline: 657.88 ms | 789.46 ms (85.55%) |
Summary
--with-pnpmfrom every scenario step in the integrated-benchmark workflow. The pnpm-CLI baseline was useful while pacquet was slower than pnpm; now that pacquet is the perf target itself, the comparison is just noise.main,HEADandmainpoint at the same commit, so the HEAD-vs-main comparison is wasted work. Resolve the target list at job level (BENCHMARK_TARGETS):pacquet@HEADon main,pacquet@HEAD pacquet@maineverywhere else (PRs,workflow_dispatchfrom non-main). The Bencher upload already filters topacquet@HEAD, so the single-target result still lands on the main baseline as before.Test plan
BENCHMARK_TARGETS=pacquet@HEAD pacquet@mainand produces a benchmark comment.mainruns onlypacquet@HEADand uploads the result to Bencher as the new baseline.Written by an agent (Claude Code, claude-opus-4-7).
Summary by CodeRabbit