Skip to content

#295 Update benchmark display - #297

Merged
sanelli merged 7 commits into
mainfrom
295-update-benchmark-display
Aug 1, 2026
Merged

#295 Update benchmark display#297
sanelli merged 7 commits into
mainfrom
295-update-benchmark-display

Conversation

@sanelli

@sanelli sanelli commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • Stop generating/uploading benchmark history TIME/MEMORY SVGs and remove them from the README; gist upload keeps only the latest-run SVG charts (no MAPPA-BENCHMARK-HISTORY.md).
  • Pretty chart labels, refined chart subset (Objects mapping / NestedDto), and enriched NestedDtoBenchmark with deep nesting, polymorphism, collections, and Bogus-seeded inputs.
  • Remove the PR coverage comment "Benchmark trends" section; bump to 10.2.0-alpha.33.

Test plan

  • Confirm CI version check passes (10.2.0-alpha.33 > main)
  • Spot-check README shows latest-run charts only (no history SVG embeds)
  • Optionally regenerate charts with .\Scripts\RunBenchmarks.ps1 -ChartBenchmarksOnly -SkipRun and review SVG labels/order

sanelli and others added 7 commits August 1, 2026 11:17
…tedDtoBenchmark.

Remove TIME/MEMORY history SVG generation and gist upload while keeping markdown history. Pretty-print latest-run chart labels. Expand NestedDto into a 5-level polymorphic kitchen-sink graph with mixed collections.

Co-authored-by: Cursor <cursoragent@cursor.com>
Replace hand-built NestedDataFactory data with Bogus fakers (polymorphism and special collections included) using BenchmarkConstants.RandomSeed.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Add shared BenchmarkSeed and per-area data factories. Harden AutoMapper collection ConvertUsing maps so list/array benchmarks stay reliable.

Co-authored-by: Cursor <cursoragent@cursor.com>
…e chart SVGs.

Add string-to-enum and int-to-enum NestedDto properties. Style percentage charts with a red 100% guide and bold labels above 100%. Use a 100-unit MEMORY Y-axis tick.

Co-authored-by: Cursor <cursoragent@cursor.com>
Remove Polymorphic from the chart subset, rename NestedDto to Objects mapping, strip README history embeds and PR benchmark trends, and upload only latest-run SVGs to the gist. Fix Mapster polymorphic Adapt via a derived-type switch.

Co-authored-by: Cursor <cursoragent@cursor.com>
CI requires a version increase for the benchmark-display changes.

Co-authored-by: Cursor <cursoragent@cursor.com>
@sanelli sanelli linked an issue Aug 1, 2026 that may be closed by this pull request
@sanelli sanelli mentioned this pull request Aug 1, 2026
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

Code coverage

Compared against the latest published coverage history from the code coverage gist.

Metric Baseline PR Δ Trend
Line 98.4% 98.4% 0 =
Branch 90.5% 90.5% 0 =
Method 100% 100% 0 =

No coverage metric dropped by more than 1 percentage point(s) versus baseline.

Benchmarks

AutoMapper is the BenchmarkDotNet ratio baseline. Absolute values are mean time in nanoseconds and allocated bytes. Ratio columns are competitor / Mappa as a percentage (n/a when either side is missing or Mappa is zero).

Benchmark Automapper Mean (ns) Automapper Allocated (B) Mapster Mean (ns) Mapster Allocated (B) Mapperly Mean (ns) Mapperly Allocated (B) Mappa Mean (ns) Mappa Allocated (B) Automapper/Mappa Time Automapper/Mappa Alloc Mapperly/Mappa Time Mapperly/Mappa Alloc Mapster/Mappa Time Mapster/Mappa Alloc
ArrayToListBenchmark 482770 592056.32 305820 648058.88 22990 128051.2 23280 128051.2 2073.8% 462.4% 98.8% 100% 1313.7% 506.1%
DictionaryBenchmark 496550 615014.4 347110 742277.12 45240 151019.52 56730 222218.24 875.3% 276.8% 79.7% 68% 611.9% 334%
FastListToArrayBenchmark 486440 592025.6 318650 648028.16 22790 128020.48 24010 128020.48 2026% 462.4% 94.9% 100% 1327.2% 506.2%
IQueryableProjectionBenchmark 625800 68147.2 607800 67266.56 611800 69201.92 606300 69201.92 103.2% 98.5% 100.9% 100% 100.2% 97.2%
ListToArrayBenchmark 494810 592025.6 318210 648028.16 25080 128020.48 24180 128020.48 2046.4% 462.4% 103.7% 100% 1316% 506.2%
NestedDtoBenchmark 550090 742809.6 385880 789555.2 43220 149401.6 47250 157900.8 1164.2% 470.4% 91.5% 94.6% 816.7% 500%

@sanelli
sanelli merged commit 515e9e5 into main Aug 1, 2026
1 check passed
@sanelli
sanelli deleted the 295-update-benchmark-display branch August 1, 2026 12:02
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.

Update benchmark display

1 participant