docs: rename Tier 2/3 headings + hide diagnostics from nav#97
Merged
cloud-hai-vo merged 3 commits intomainfrom Mar 31, 2026
Merged
docs: rename Tier 2/3 headings + hide diagnostics from nav#97cloud-hai-vo merged 3 commits intomainfrom
cloud-hai-vo merged 3 commits intomainfrom
Conversation
Expanded all 11 doc pages (+2,515 lines): - Real-world code examples (EF Core entities, API controllers, Blazor) - DI examples for 6 hosting models (MVC, minimal API, Blazor, gRPC, Worker) - Benchmark comparison tables with representative timings - "Why it's faster" technical explanation (inlined nested maps, etc.) - Common pitfalls sections on every relevant page - Full AutoMapper migration walkthrough with before/after code - ProjectTo with complex queries and pagination - Callout boxes for tips and warnings - Table of contents on all longer pages - Front matter with nav_order on all pages Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add favicon and logo from existing icon.png (gold E on dark) - Custom CSS: gold accent color (#d4a24c), polished buttons, tables - Restructured navigation with parent groups: - Home / Quick Start / vs AutoMapper (top level) - Guide: Configuration, Profiles, DI, Advanced, Performance - Code Generation: Attribute Mapper, Class Mapper, Migration Guide - API Reference (top level) - Renamed "Tier 2"/"Tier 3" to "Attribute Mapper"/"Class Mapper" - Hidden redundant Getting-Started page (Quick Start covers it) - Added jekyll-sitemap, jekyll-seo-tag, heading anchors, search Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Page titles in nav were already renamed, but the h1 headings and comparison tables still said "Tier 2" / "Tier 3". Updated all user-visible headings to use the clearer names. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
629ff59 to
f713c6a
Compare
Contributor
📊 Benchmark Results
🔵 Flat Mapping — 10-property object
🟡 Flattening — 2 nested objects → 8 flat properties
🟣 Deep Mapping — 2 nested address objects
🟢 Complex Mapping — nested object + collection
🟠 Collection — 100-item
|
| Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Manual | 1.703 μs | 0.4059 μs | 0.0223 μs | 1.689 μs | 1.692 μs | 1.729 μs | 1.00 | 0.02 | 1 | 0.5283 | 0.0172 | 8.65 KB | 1.00 |
| EggMapper | 1.717 μs | 0.2460 μs | 0.0135 μs | 1.702 μs | 1.720 μs | 1.729 μs | 1.01 | 0.01 | 1 | 0.5283 | 0.0172 | 8.65 KB | 1.00 |
| AutoMapper | 2.392 μs | 1.0614 μs | 0.0582 μs | 2.331 μs | 2.398 μs | 2.447 μs | 1.40 | 0.03 | 2 | 0.6065 | 0.0191 | 9.95 KB | 1.15 |
| Mapster | 1.793 μs | 0.4963 μs | 0.0272 μs | 1.771 μs | 1.785 μs | 1.823 μs | 1.05 | 0.02 | 1 | 0.5283 | 0.0172 | 8.65 KB | 1.00 |
| MapperlyMap | 1.874 μs | 0.8513 μs | 0.0467 μs | 1.825 μs | 1.880 μs | 1.918 μs | 1.10 | 0.03 | 1 | 0.5283 | 0.0172 | 8.65 KB | 1.00 |
| AgileMapper | 2.691 μs | 0.4333 μs | 0.0237 μs | 2.672 μs | 2.683 μs | 2.717 μs | 1.58 | 0.02 | 2 | 0.5417 | 0.0153 | 8.91 KB | 1.03 |
🟠 Collection — 100-item List<T>
| Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Manual | 5.360 μs | 2.0822 μs | 0.1141 μs | 5.239 μs | 5.376 μs | 5.466 μs | 1.00 | 0.03 | 1 | 1.6708 | 0.0916 | 27.4 KB | 1.00 |
| EggMapper | 5.792 μs | 0.8407 μs | 0.0461 μs | 5.764 μs | 5.767 μs | 5.845 μs | 1.08 | 0.02 | 1 | 1.6708 | 0.0916 | 27.4 KB | 1.00 |
| AutoMapper | 6.806 μs | 0.6581 μs | 0.0361 μs | 6.765 μs | 6.817 μs | 6.834 μs | 1.27 | 0.02 | 1 | 1.7548 | 0.1068 | 28.7 KB | 1.05 |
| Mapster | 5.859 μs | 2.0612 μs | 0.1130 μs | 5.772 μs | 5.818 μs | 5.987 μs | 1.09 | 0.03 | 1 | 1.6708 | 0.0916 | 27.4 KB | 1.00 |
| MapperlyMap | 5.547 μs | 1.3210 μs | 0.0724 μs | 5.489 μs | 5.523 μs | 5.628 μs | 1.04 | 0.02 | 1 | 1.6785 | 0.0992 | 27.42 KB | 1.00 |
| AgileMapper | 5.469 μs | 1.0721 μs | 0.0588 μs | 5.405 μs | 5.483 μs | 5.520 μs | 1.02 | 0.02 | 1 | 1.0223 | 0.0610 | 16.72 KB | 0.61 |
🟠 Collection — 100-item List<T>
| Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Manual | 17.05 μs | 3.909 μs | 0.214 μs | 16.82 μs | 17.11 μs | 17.23 μs | 1.00 | 0.02 | 1 | 5.2490 | 1.3123 | 85.99 KB | 1.00 |
| EggMapper | 17.26 μs | 6.589 μs | 0.361 μs | 16.94 μs | 17.19 μs | 17.65 μs | 1.01 | 0.02 | 1 | 5.2490 | 1.3123 | 85.99 KB | 1.00 |
| AutoMapper | 21.99 μs | 1.813 μs | 0.099 μs | 21.88 μs | 22.02 μs | 22.07 μs | 1.29 | 0.01 | 1 | 5.7678 | 1.4343 | 94.34 KB | 1.10 |
| Mapster | 17.37 μs | 5.168 μs | 0.283 μs | 17.12 μs | 17.31 μs | 17.68 μs | 1.02 | 0.02 | 1 | 5.2490 | 1.3123 | 85.99 KB | 1.00 |
| MapperlyMap | 18.99 μs | 6.098 μs | 0.334 μs | 18.77 μs | 18.82 μs | 19.37 μs | 1.11 | 0.02 | 1 | 5.2490 | 1.2817 | 86.02 KB | 1.00 |
| AgileMapper | 20.88 μs | 11.755 μs | 0.644 μs | 20.28 μs | 20.78 μs | 21.56 μs | 1.22 | 0.04 | 1 | 5.2795 | 1.3123 | 86.25 KB | 1.00 |
⚪ Startup / Configuration time
| Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| EggMapperStartup | 1,333.580 μs | 1,831.6812 μs | 100.4006 μs | 1,250.324 μs | 1,305.339 μs | 1,445.076 μs | 1.004 | 0.09 | 3 | 3.9063 | 1.9531 | 94.89 KB | 1.00 |
| AutoMapperStartup | 441.701 μs | 950.2387 μs | 52.0858 μs | 383.091 μs | 459.322 μs | 482.691 μs | 0.332 | 0.04 | 2 | 5.8594 | - | 103.92 KB | 1.10 |
| MapsterStartup | 2.553 μs | 0.6743 μs | 0.0370 μs | 2.525 μs | 2.540 μs | 2.595 μs | 0.002 | 0.00 | 1 | 0.7019 | 0.0267 | 11.51 KB | 0.12 |
EggMapper.Benchmarks.ColdStartBenchmark-report-github
| Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| EggMapper | 1.336 ms | 1.328 ms | 0.0728 ms | 1.274 ms | 1.316 ms | 1.416 ms | 1.00 | 0.07 | 1 | 5.8594 | 3.9063 | 95.9 KB | 1.00 |
| AutoMapper | 3.938 ms | 12.204 ms | 0.6689 ms | 3.436 ms | 3.680 ms | 4.697 ms | 2.95 | 0.46 | 2 | 15.6250 | 7.8125 | 310.81 KB | 3.24 |
| Mapster | 4.220 ms | 7.564 ms | 0.4146 ms | 3.750 ms | 4.372 ms | 4.537 ms | 3.17 | 0.31 | 2 | 39.0625 | 15.6250 | 757.45 KB | 7.90 |
📝 Notes
- Each benchmark class is decorated with
[MemoryDiagnoser]and[RankColumn]. - The global config (see
src/EggMapper.Benchmarks/Program.cs) addsMin,Median, andMaxcolumns. - Manual is the hand-written baseline (ratio = 1.00). A ratio < 1 means faster than manual.
- Benchmarks run on GitHub-hosted runners — absolute times may vary between runs; focus on Ratio for comparisons.
- To reproduce locally:
cd src/EggMapper.Benchmarks dotnet run --configuration Release -- --filter '*'
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix page headings still showing 'Tier 2'/'Tier 3' — now 'Attribute Mapper'/'Class Mapper'. Also hides diagnostic rule pages from sidebar.