Skip to content

Commit 6fdff09

Browse files
committed
chore(benchmarks): remove three redundant benchmark mains
FullCvBenchmark duplicated the JMH TemplateCvJmhBenchmark (CV through ModernProfessional) with a hand-rolled, JIT-noisier loop and no report. GraphComposeBenchmark was an early-engine relic measuring the same title+body+divider doc as CurrentSpeedBenchmark's engine-simple scenario. ScalabilityBenchmark's thread-scaling sweep is folded into CurrentSpeedBenchmark's full-profile throughput run (thread counts now 1,2,4,8,16). Drop the matching run-benchmarks.ps1 steps and the benchmarks.md / benchmarks/README.md entries. ComparativeBenchmark, the JMH benches, the deterministic probes, and the soak/stress runners stay. Benchmark module compiles; its 28 tests pass.
1 parent 058b79b commit 6fdff09

8 files changed

Lines changed: 13 additions & 267 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,13 @@ Entries land here as they merge.
337337

338338
### Internal
339339

340+
- **Benchmark suite cleanup (not shipped).** Removed three redundant
341+
benchmark mains: `FullCvBenchmark` (superseded by the JMH
342+
`TemplateCvJmhBenchmark`), `GraphComposeBenchmark` (early-engine relic
343+
duplicating `CurrentSpeedBenchmark`'s `engine-simple` scenario), and
344+
`ScalabilityBenchmark` (its thread-scaling sweep folded into
345+
`CurrentSpeedBenchmark`'s full-profile throughput run, now `1,2,4,8,16`).
346+
Dropped the matching `run-benchmarks.ps1` steps and doc entries.
340347
- **Removed the `java.awt.*` / `java.util.*` co-wildcard in four files.**
341348
`InvoiceTemplateComposer`, `ProposalTemplateComposer`,
342349
`WeeklyScheduleTemplateComposer`, and the engine `PdfRenderingSystemECS`

benchmarks/README.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,11 @@
6262
| File | Role |
6363
|---|---|
6464
| `CurrentSpeedBenchmark` | Default scenario runner — what CI's `perf-smoke` job exercises. Takes a `-Dgraphcompose.benchmark.profile=smoke\|full\|stress` switch. |
65-
| `ComparativeBenchmark` | Renders the same fixtures through GraphCompose, iText, openHTMLToPDF, JasperReports. **Rough local comparison only** — see "When not to use" above. |
66-
| `FullCvBenchmark`, `ScalabilityBenchmark` | Fixture-specific runners for CV and table-heavy scenarios. |
67-
| `CanonicalBenchmarkSupport`, `BenchmarkSupport` | Shared fixture builders + measurement helpers. |
65+
| `ComparativeBenchmark` | Renders the same fixtures through GraphCompose, iText, openHTMLToPDF, JasperReports. **Rough local comparison only** — see "When not to use" above. || `CanonicalBenchmarkSupport`, `BenchmarkSupport` | Shared fixture builders + measurement helpers. |
6866
| `BenchmarkReportWriter` | Writes JSON / CSV / text reports under `benchmarks/target/benchmarks/`. |
6967
| `BenchmarkDiffTool` | Compares two JSON reports and prints a delta table. Useful for pre/post comparisons. |
7068
| `BenchmarkMedianTool` | Median + dispersion across N runs of the same scenario. |
7169
| `GraphComposeStressTest`, `EnduranceTest` | Long-running stress / endurance harnesses. |
72-
| `GraphComposeBenchmark` | Legacy entry point preserved for one downstream caller. New work should target `CurrentSpeedBenchmark`. |
73-
7470
## Running
7571

7672
From the repo root:

benchmarks/src/main/java/com/demcha/compose/CurrentSpeedBenchmark.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ public final class CurrentSpeedBenchmark {
5555
private static final int DEFAULT_FULL_WARMUP_ITERATIONS = 12;
5656
private static final int DEFAULT_FULL_MEASUREMENT_ITERATIONS = 40;
5757
private static final int DEFAULT_FULL_DOCS_PER_THREAD = 12;
58-
private static final String DEFAULT_FULL_THREAD_COUNTS = "1,2,4,8";
58+
// The 16-thread tier is absorbed from the removed ScalabilityBenchmark so the
59+
// full profile keeps a thread-scaling data point (smoke runs no throughput).
60+
private static final String DEFAULT_FULL_THREAD_COUNTS = "1,2,4,8,16";
5961
// Bumped from 2/5 to 30/100 so smoke runs reach a steady JIT state and the
6062
// p95 calculation actually has enough samples to interpolate rather than
6163
// collapsing to the maximum observed time. The smoke profile remains the

benchmarks/src/main/java/com/demcha/compose/FullCvBenchmark.java

Lines changed: 0 additions & 84 deletions
This file was deleted.

benchmarks/src/main/java/com/demcha/compose/GraphComposeBenchmark.java

Lines changed: 0 additions & 79 deletions
This file was deleted.

benchmarks/src/main/java/com/demcha/compose/ScalabilityBenchmark.java

Lines changed: 0 additions & 88 deletions
This file was deleted.

docs/operations/benchmarks.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,10 @@ The script prints numbered sections so you can map console output to the pipelin
3636
1. `01-build-classpath`
3737
Builds the test classpath once and writes `target/benchmark.classpath`.
3838
2. `02-current-speed`
39-
Runs `CurrentSpeedBenchmark` in the selected profile.
39+
Runs `CurrentSpeedBenchmark` in the selected profile. The full profile also
40+
runs the thread-scaling throughput sweep (1 → 16 threads).
4041
3. `03-comparative`
4142
Runs the GraphCompose canonical vs iText 5 vs JasperReports comparison.
42-
4. `04-core-engine`
43-
Runs `GraphComposeBenchmark`.
44-
5. `05-full-cv`
45-
Runs `FullCvBenchmark`.
46-
6. `06-scalability`
47-
Runs the thread-scaling throughput benchmark.
4843
7. `07-stress`
4944
Runs the concurrent stability stress test.
5045
8. `08-endurance`

scripts/run-benchmarks.ps1

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -368,9 +368,6 @@ try {
368368
-InputPaths $comparativeRuns | Out-Null
369369
}
370370

371-
Invoke-JavaMain -Name "04-core-engine" -Classpath $javaClasspath -MainClass "com.demcha.compose.GraphComposeBenchmark"
372-
Invoke-JavaMain -Name "05-full-cv" -Classpath $javaClasspath -MainClass "com.demcha.compose.FullCvBenchmark"
373-
Invoke-JavaMain -Name "06-scalability" -Classpath $javaClasspath -MainClass "com.demcha.compose.ScalabilityBenchmark"
374371
Invoke-JavaMain -Name "07-stress" -Classpath $javaClasspath -MainClass "com.demcha.compose.GraphComposeStressTest"
375372

376373
if ($IncludeEndurance) {

0 commit comments

Comments
 (0)