diff --git a/README.md b/README.md index 76eb443..2f872b6 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ public class MyService(IMapper mapper) { ... } ## Performance -> ⏱ **Last updated:** 2026-05-22 14:24 UTC +> ⏱ **Last updated:** 2026-05-22 15:12 UTC All benchmarks run on BenchmarkDotNet with .NET 10. Ratio = time vs hand-written manual code (lower is better). @@ -93,13 +93,13 @@ All benchmarks run on BenchmarkDotNet with .NET 10. Ratio = time vs hand-written | Scenario | Manual | EggMapper | Mapster | AutoMapper | Mapperly* | |----------|--------|-----------|---------|------------|-----------| -| **Flat (10 props)** | 15.53 ns | **26.96 ns (1.7×)** | 27.84 ns (1.8×) | 84.25 ns (5.4×) | 14.56 ns (0.9×) | -| **Flattening** | 19.61 ns | **29.96 ns (1.5×)** | 47.80 ns (2.4×) | 87.85 ns (4.5×) | 23.39 ns (1.2×) | -| **Deep (2 nested)** | 52.02 ns | **62.18 ns (1.2×)** | 67.02 ns (1.3×) | 119.42 ns (2.3×) | 49.42 ns (0.9×) | -| **Complex (nest+coll)** | 69.44 ns | **90.20 ns (1.3×)** | 86.76 ns (1.2×) | 148.85 ns (2.1×) | 69.56 ns (1.0×) | -| **Collection (100)** | 1.761 μs | **1.757 μs (1.0×)** | 1.743 μs (1.0×) | 2.408 μs (1.4×) | 1.894 μs (1.1×) | -| **Deep Coll (100)** | 5.833 μs | **5.588 μs (1.0×)** | 5.637 μs (1.0×) | 6.598 μs (1.1×) | 5.770 μs (1.0×) | -| **Large Coll (1000)** | 17.53 μs | **17.41 μs (1.0×)** | 17.15 μs (1.0×) | 20.76 μs (1.2×) | 17.84 μs (1.0×) | +| **Flat (10 props)** | 16.15 ns | **29.01 ns (1.8×)** | 28.16 ns (1.7×) | 80.39 ns (5.0×) | 17.14 ns (1.1×) | +| **Flattening** | 20.73 ns | **31.25 ns (1.5×)** | 34.24 ns (1.6×) | 84.05 ns (4.0×) | 24.53 ns (1.2×) | +| **Deep (2 nested)** | 56.27 ns | **69.58 ns (1.2×)** | 73.01 ns (1.3×) | 108.09 ns (1.9×) | 52.90 ns (0.9×) | +| **Complex (nest+coll)** | 88.16 ns | **105.17 ns (1.2×)** | 100.13 ns (1.1×) | 145.32 ns (1.6×) | 80.72 ns (0.9×) | +| **Collection (100)** | 2.208 μs | **2.095 μs (0.9×)** | 2.058 μs (0.9×) | 2.641 μs (1.2×) | 2.156 μs (1.0×) | +| **Deep Coll (100)** | 5.985 μs | **6.458 μs (1.1×)** | 6.416 μs (1.1×) | 7.090 μs (1.2×) | 5.878 μs (1.0×) | +| **Large Coll (1000)** | 21.52 μs | **20.78 μs (1.0×)** | 21.46 μs (1.0×) | 25.36 μs (1.2×) | 22.22 μs (1.0×) | **\*** *Mapperly is a compile-time source generator — it produces code equivalent to hand-written mapping. EggMapper is the fastest **runtime** mapper.* @@ -123,96 +123,96 @@ dotnet run --configuration Release -f net10.0 -- --filter * --exporters json mar | Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Allocated | Alloc Ratio | |--------------------- |----------:|---------:|---------:|----------:|----------:|----------:|------:|--------:|-----:|-------:|----------:|------------:| -| Manual | 15.53 ns | 0.203 ns | 0.190 ns | 15.15 ns | 15.54 ns | 15.79 ns | 1.00 | 0.02 | 1 | 0.0048 | 80 B | 1.00 | -| EggMapper | 26.96 ns | 0.519 ns | 0.485 ns | 26.13 ns | 27.19 ns | 27.64 ns | 1.74 | 0.04 | 2 | 0.0048 | 80 B | 1.00 | -| AutoMapper | 84.25 ns | 0.668 ns | 0.592 ns | 83.46 ns | 84.23 ns | 85.33 ns | 5.43 | 0.07 | 3 | 0.0048 | 80 B | 1.00 | -| Mapster | 27.84 ns | 0.529 ns | 0.494 ns | 27.09 ns | 27.75 ns | 28.50 ns | 1.79 | 0.04 | 2 | 0.0048 | 80 B | 1.00 | -| MapperlyMap | 14.56 ns | 0.029 ns | 0.026 ns | 14.51 ns | 14.56 ns | 14.59 ns | 0.94 | 0.01 | 1 | 0.0048 | 80 B | 1.00 | -| AgileMapper | 493.21 ns | 1.126 ns | 1.053 ns | 491.63 ns | 493.51 ns | 494.80 ns | 31.77 | 0.38 | 4 | 0.0200 | 344 B | 4.30 | -| EggMapperGenerator | 14.92 ns | 0.193 ns | 0.180 ns | 14.59 ns | 14.94 ns | 15.26 ns | 0.96 | 0.02 | 1 | 0.0048 | 80 B | 1.00 | -| EggMapperClassMapper | 15.78 ns | 0.199 ns | 0.166 ns | 15.45 ns | 15.81 ns | 16.09 ns | 1.02 | 0.02 | 1 | 0.0048 | 80 B | 1.00 | +| Manual | 16.15 ns | 0.273 ns | 0.242 ns | 15.71 ns | 16.21 ns | 16.42 ns | 1.00 | 0.02 | 1 | 0.0048 | 80 B | 1.00 | +| EggMapper | 29.01 ns | 0.282 ns | 0.264 ns | 28.57 ns | 28.99 ns | 29.38 ns | 1.80 | 0.03 | 2 | 0.0048 | 80 B | 1.00 | +| AutoMapper | 80.39 ns | 0.074 ns | 0.061 ns | 80.29 ns | 80.41 ns | 80.47 ns | 4.98 | 0.07 | 3 | 0.0048 | 80 B | 1.00 | +| Mapster | 28.16 ns | 0.424 ns | 0.397 ns | 27.62 ns | 28.22 ns | 28.88 ns | 1.74 | 0.03 | 2 | 0.0048 | 80 B | 1.00 | +| MapperlyMap | 17.14 ns | 0.397 ns | 0.407 ns | 16.02 ns | 17.21 ns | 17.68 ns | 1.06 | 0.03 | 1 | 0.0048 | 80 B | 1.00 | +| AgileMapper | 372.54 ns | 1.937 ns | 1.812 ns | 368.55 ns | 372.64 ns | 374.88 ns | 23.08 | 0.35 | 4 | 0.0205 | 344 B | 4.30 | +| EggMapperGenerator | 16.26 ns | 0.172 ns | 0.143 ns | 16.07 ns | 16.25 ns | 16.63 ns | 1.01 | 0.02 | 1 | 0.0048 | 80 B | 1.00 | +| EggMapperClassMapper | 16.96 ns | 0.322 ns | 0.301 ns | 16.44 ns | 16.95 ns | 17.44 ns | 1.05 | 0.02 | 1 | 0.0048 | 80 B | 1.00 | #### 🟡 Flattening | Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Allocated | Alloc Ratio | |------------ |----------:|---------:|---------:|----------:|----------:|----------:|------:|--------:|-----:|-------:|----------:|------------:| -| Manual | 19.61 ns | 0.283 ns | 0.264 ns | 19.03 ns | 19.75 ns | 19.95 ns | 1.00 | 0.02 | 1 | 0.0048 | 80 B | 1.00 | -| EggMap | 29.96 ns | 0.585 ns | 0.674 ns | 29.07 ns | 29.95 ns | 31.12 ns | 1.53 | 0.04 | 3 | 0.0048 | 80 B | 1.00 | -| AutoMapper | 87.85 ns | 0.885 ns | 0.828 ns | 86.61 ns | 87.99 ns | 89.80 ns | 4.48 | 0.07 | 5 | 0.0048 | 80 B | 1.00 | -| Mapster | 47.80 ns | 0.431 ns | 0.403 ns | 46.89 ns | 47.82 ns | 48.50 ns | 2.44 | 0.04 | 4 | 0.0048 | 80 B | 1.00 | -| MapperlyMap | 23.39 ns | 0.154 ns | 0.137 ns | 23.22 ns | 23.36 ns | 23.74 ns | 1.19 | 0.02 | 2 | 0.0062 | 104 B | 1.30 | -| AgileMapper | 520.28 ns | 1.056 ns | 0.936 ns | 518.79 ns | 520.15 ns | 521.97 ns | 26.53 | 0.35 | 6 | 0.0200 | 344 B | 4.30 | +| Manual | 20.73 ns | 0.193 ns | 0.180 ns | 20.32 ns | 20.73 ns | 21.03 ns | 1.00 | 0.01 | 1 | 0.0048 | 80 B | 1.00 | +| EggMap | 31.25 ns | 0.297 ns | 0.263 ns | 30.94 ns | 31.23 ns | 31.88 ns | 1.51 | 0.02 | 3 | 0.0048 | 80 B | 1.00 | +| AutoMapper | 84.05 ns | 0.361 ns | 0.320 ns | 83.72 ns | 83.89 ns | 84.53 ns | 4.05 | 0.04 | 5 | 0.0048 | 80 B | 1.00 | +| Mapster | 34.24 ns | 0.383 ns | 0.359 ns | 33.82 ns | 34.15 ns | 34.98 ns | 1.65 | 0.02 | 4 | 0.0048 | 80 B | 1.00 | +| MapperlyMap | 24.53 ns | 0.397 ns | 0.371 ns | 24.09 ns | 24.47 ns | 25.18 ns | 1.18 | 0.02 | 2 | 0.0062 | 104 B | 1.30 | +| AgileMapper | 325.54 ns | 2.157 ns | 1.912 ns | 323.15 ns | 325.18 ns | 330.02 ns | 15.70 | 0.16 | 6 | 0.0205 | 344 B | 4.30 | #### 🟣 Deep Mapping (2 nested objects) | Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Allocated | Alloc Ratio | |------------ |----------:|---------:|---------:|----------:|----------:|----------:|------:|--------:|-----:|-------:|----------:|------------:| -| Manual | 52.02 ns | 0.168 ns | 0.149 ns | 51.66 ns | 52.03 ns | 52.24 ns | 1.00 | 0.00 | 2 | 0.0162 | 272 B | 1.00 | -| EggMapper | 62.18 ns | 0.217 ns | 0.203 ns | 61.86 ns | 62.15 ns | 62.62 ns | 1.20 | 0.01 | 3 | 0.0162 | 272 B | 1.00 | -| AutoMapper | 119.42 ns | 0.343 ns | 0.321 ns | 118.88 ns | 119.40 ns | 119.91 ns | 2.30 | 0.01 | 5 | 0.0162 | 272 B | 1.00 | -| Mapster | 67.02 ns | 0.315 ns | 0.246 ns | 66.49 ns | 66.99 ns | 67.51 ns | 1.29 | 0.01 | 4 | 0.0162 | 272 B | 1.00 | -| MapperlyMap | 49.42 ns | 0.298 ns | 0.249 ns | 48.98 ns | 49.42 ns | 49.81 ns | 0.95 | 0.01 | 1 | 0.0162 | 272 B | 1.00 | -| AgileMapper | 526.18 ns | 1.486 ns | 1.390 ns | 523.02 ns | 526.26 ns | 527.85 ns | 10.11 | 0.04 | 6 | 0.0248 | 424 B | 1.56 | +| Manual | 56.27 ns | 0.099 ns | 0.083 ns | 56.14 ns | 56.25 ns | 56.40 ns | 1.00 | 0.00 | 2 | 0.0162 | 272 B | 1.00 | +| EggMapper | 69.58 ns | 0.303 ns | 0.269 ns | 69.11 ns | 69.50 ns | 69.98 ns | 1.24 | 0.00 | 3 | 0.0162 | 272 B | 1.00 | +| AutoMapper | 108.09 ns | 0.203 ns | 0.180 ns | 107.82 ns | 108.06 ns | 108.38 ns | 1.92 | 0.00 | 5 | 0.0162 | 272 B | 1.00 | +| Mapster | 73.01 ns | 0.804 ns | 0.752 ns | 70.97 ns | 73.24 ns | 73.86 ns | 1.30 | 0.01 | 4 | 0.0162 | 272 B | 1.00 | +| MapperlyMap | 52.90 ns | 0.270 ns | 0.239 ns | 52.56 ns | 52.86 ns | 53.24 ns | 0.94 | 0.00 | 1 | 0.0162 | 272 B | 1.00 | +| AgileMapper | 358.36 ns | 1.869 ns | 1.748 ns | 354.39 ns | 358.28 ns | 361.11 ns | 6.37 | 0.03 | 6 | 0.0253 | 424 B | 1.56 | #### 🟢 Complex Mapping (nested + collection) | Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Allocated | Alloc Ratio | |------------ |----------:|---------:|---------:|----------:|----------:|----------:|------:|--------:|-----:|-------:|----------:|------------:| -| Manual | 69.44 ns | 0.145 ns | 0.128 ns | 69.25 ns | 69.41 ns | 69.73 ns | 1.00 | 0.00 | 1 | 0.0191 | 320 B | 1.00 | -| EggMapper | 90.20 ns | 0.819 ns | 0.766 ns | 89.13 ns | 89.89 ns | 91.72 ns | 1.30 | 0.01 | 3 | 0.0191 | 320 B | 1.00 | -| AutoMapper | 148.85 ns | 0.392 ns | 0.306 ns | 148.25 ns | 148.80 ns | 149.29 ns | 2.14 | 0.01 | 4 | 0.0196 | 328 B | 1.02 | -| Mapster | 86.76 ns | 0.702 ns | 0.586 ns | 85.96 ns | 86.72 ns | 87.90 ns | 1.25 | 0.01 | 2 | 0.0191 | 320 B | 1.00 | -| MapperlyMap | 69.56 ns | 0.317 ns | 0.281 ns | 69.20 ns | 69.53 ns | 70.11 ns | 1.00 | 0.00 | 1 | 0.0191 | 320 B | 1.00 | -| AgileMapper | 558.70 ns | 1.449 ns | 1.284 ns | 556.83 ns | 558.99 ns | 560.41 ns | 8.05 | 0.02 | 5 | 0.0315 | 528 B | 1.65 | +| Manual | 88.16 ns | 0.947 ns | 0.886 ns | 86.06 ns | 88.35 ns | 89.58 ns | 1.00 | 0.01 | 2 | 0.0191 | 320 B | 1.00 | +| EggMapper | 105.17 ns | 0.717 ns | 0.636 ns | 104.08 ns | 105.30 ns | 106.06 ns | 1.19 | 0.01 | 4 | 0.0191 | 320 B | 1.00 | +| AutoMapper | 145.32 ns | 1.394 ns | 1.304 ns | 143.47 ns | 145.31 ns | 147.61 ns | 1.65 | 0.02 | 5 | 0.0196 | 328 B | 1.02 | +| Mapster | 100.13 ns | 0.684 ns | 0.640 ns | 98.31 ns | 100.15 ns | 100.98 ns | 1.14 | 0.01 | 3 | 0.0191 | 320 B | 1.00 | +| MapperlyMap | 80.72 ns | 1.258 ns | 1.115 ns | 77.72 ns | 81.16 ns | 81.90 ns | 0.92 | 0.02 | 1 | 0.0191 | 320 B | 1.00 | +| AgileMapper | 405.62 ns | 1.279 ns | 1.196 ns | 403.89 ns | 405.46 ns | 407.62 ns | 4.60 | 0.05 | 6 | 0.0315 | 528 B | 1.65 | #### 🟠 Collection (100 items) | Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio | |------------ |---------:|----------:|----------:|---------:|---------:|---------:|------:|--------:|-----:|-------:|-------:|----------:|------------:| -| Manual | 1.761 μs | 0.0343 μs | 0.0321 μs | 1.714 μs | 1.752 μs | 1.810 μs | 1.00 | 0.02 | 1 | 0.5283 | 0.0172 | 8.65 KB | 1.00 | -| EggMapper | 1.757 μs | 0.0342 μs | 0.0352 μs | 1.708 μs | 1.755 μs | 1.820 μs | 1.00 | 0.03 | 1 | 0.5283 | 0.0172 | 8.65 KB | 1.00 | -| AutoMapper | 2.408 μs | 0.0452 μs | 0.0423 μs | 2.349 μs | 2.409 μs | 2.506 μs | 1.37 | 0.03 | 3 | 0.6065 | 0.0191 | 9.95 KB | 1.15 | -| Mapster | 1.743 μs | 0.0221 μs | 0.0207 μs | 1.714 μs | 1.740 μs | 1.778 μs | 0.99 | 0.02 | 1 | 0.5283 | 0.0172 | 8.65 KB | 1.00 | -| MapperlyMap | 1.894 μs | 0.0172 μs | 0.0153 μs | 1.872 μs | 1.892 μs | 1.925 μs | 1.08 | 0.02 | 2 | 0.5283 | 0.0172 | 8.65 KB | 1.00 | -| AgileMapper | 2.492 μs | 0.0161 μs | 0.0151 μs | 2.465 μs | 2.492 μs | 2.519 μs | 1.42 | 0.03 | 3 | 0.5417 | 0.0153 | 8.91 KB | 1.03 | +| Manual | 2.208 μs | 0.0290 μs | 0.0271 μs | 2.164 μs | 2.215 μs | 2.251 μs | 1.00 | 0.02 | 1 | 0.5264 | 0.0153 | 8.65 KB | 1.00 | +| EggMapper | 2.095 μs | 0.0412 μs | 0.0850 μs | 1.912 μs | 2.090 μs | 2.274 μs | 0.95 | 0.04 | 1 | 0.5264 | 0.0153 | 8.65 KB | 1.00 | +| AutoMapper | 2.641 μs | 0.0527 μs | 0.0951 μs | 2.497 μs | 2.655 μs | 2.899 μs | 1.20 | 0.04 | 2 | 0.6065 | 0.0191 | 9.95 KB | 1.15 | +| Mapster | 2.058 μs | 0.0405 μs | 0.0897 μs | 1.910 μs | 2.059 μs | 2.286 μs | 0.93 | 0.04 | 1 | 0.5264 | 0.0153 | 8.65 KB | 1.00 | +| MapperlyMap | 2.156 μs | 0.0414 μs | 0.0539 μs | 2.049 μs | 2.155 μs | 2.265 μs | 0.98 | 0.03 | 1 | 0.5264 | 0.0153 | 8.65 KB | 1.00 | +| AgileMapper | 2.722 μs | 0.0523 μs | 0.0603 μs | 2.616 μs | 2.709 μs | 2.822 μs | 1.23 | 0.03 | 2 | 0.5417 | 0.0153 | 8.91 KB | 1.03 | #### 🔴 Deep Collection (100 items, nested) -| Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio | -|------------ |---------:|----------:|----------:|---------:|---------:|---------:|------:|--------:|-----:|-------:|-------:|----------:|------------:| -| Manual | 5.833 μs | 0.0914 μs | 0.0855 μs | 5.715 μs | 5.782 μs | 5.969 μs | 1.00 | 0.02 | 2 | 1.6708 | 0.0916 | 27.4 KB | 1.00 | -| EggMapper | 5.588 μs | 0.0713 μs | 0.0667 μs | 5.505 μs | 5.580 μs | 5.685 μs | 0.96 | 0.02 | 2 | 1.6708 | 0.0916 | 27.4 KB | 1.00 | -| AutoMapper | 6.598 μs | 0.0228 μs | 0.0202 μs | 6.564 μs | 6.597 μs | 6.638 μs | 1.13 | 0.02 | 3 | 1.7548 | 0.1068 | 28.7 KB | 1.05 | -| Mapster | 5.637 μs | 0.0299 μs | 0.0250 μs | 5.596 μs | 5.642 μs | 5.690 μs | 0.97 | 0.01 | 2 | 1.6708 | 0.0916 | 27.4 KB | 1.00 | -| MapperlyMap | 5.770 μs | 0.0188 μs | 0.0157 μs | 5.744 μs | 5.766 μs | 5.805 μs | 0.99 | 0.01 | 2 | 1.6785 | 0.0992 | 27.42 KB | 1.00 | -| AgileMapper | 5.104 μs | 0.0239 μs | 0.0224 μs | 5.067 μs | 5.101 μs | 5.137 μs | 0.88 | 0.01 | 1 | 1.0223 | 0.0610 | 16.72 KB | 0.61 | +| Method | Mean | Error | StdDev | Min | Median | Max | Ratio | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio | +|------------ |---------:|----------:|----------:|---------:|---------:|---------:|------:|-----:|-------:|-------:|----------:|------------:| +| Manual | 5.985 μs | 0.0644 μs | 0.0571 μs | 5.871 μs | 5.975 μs | 6.086 μs | 1.00 | 2 | 1.6708 | 0.0916 | 27.4 KB | 1.00 | +| EggMapper | 6.458 μs | 0.0696 μs | 0.0651 μs | 6.338 μs | 6.429 μs | 6.581 μs | 1.08 | 3 | 1.6708 | 0.0916 | 27.4 KB | 1.00 | +| AutoMapper | 7.090 μs | 0.0181 μs | 0.0161 μs | 7.065 μs | 7.087 μs | 7.116 μs | 1.18 | 4 | 1.7548 | 0.1068 | 28.7 KB | 1.05 | +| Mapster | 6.416 μs | 0.0431 μs | 0.0403 μs | 6.332 μs | 6.420 μs | 6.492 μs | 1.07 | 3 | 1.6708 | 0.0916 | 27.4 KB | 1.00 | +| MapperlyMap | 5.878 μs | 0.0299 μs | 0.0265 μs | 5.845 μs | 5.867 μs | 5.928 μs | 0.98 | 2 | 1.6785 | 0.0992 | 27.42 KB | 1.00 | +| AgileMapper | 5.628 μs | 0.0280 μs | 0.0234 μs | 5.596 μs | 5.631 μs | 5.682 μs | 0.94 | 1 | 1.0223 | 0.0610 | 16.72 KB | 0.61 | #### ⚫ Large Collection (1,000 items) | Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio | |------------ |---------:|---------:|---------:|---------:|---------:|---------:|------:|--------:|-----:|-------:|-------:|----------:|------------:| -| Manual | 17.53 μs | 0.173 μs | 0.153 μs | 17.37 μs | 17.49 μs | 17.85 μs | 1.00 | 0.01 | 1 | 5.2490 | 1.3123 | 85.99 KB | 1.00 | -| EggMapper | 17.41 μs | 0.312 μs | 0.292 μs | 17.14 μs | 17.29 μs | 18.09 μs | 0.99 | 0.02 | 1 | 5.2490 | 1.3123 | 85.99 KB | 1.00 | -| AutoMapper | 20.76 μs | 0.108 μs | 0.085 μs | 20.62 μs | 20.77 μs | 20.93 μs | 1.18 | 0.01 | 3 | 5.7678 | 1.4343 | 94.34 KB | 1.10 | -| Mapster | 17.15 μs | 0.240 μs | 0.224 μs | 16.80 μs | 17.09 μs | 17.67 μs | 0.98 | 0.01 | 1 | 5.2490 | 1.3123 | 85.99 KB | 1.00 | -| MapperlyMap | 17.84 μs | 0.203 μs | 0.180 μs | 17.64 μs | 17.80 μs | 18.27 μs | 1.02 | 0.01 | 1 | 5.2490 | 1.2817 | 86.02 KB | 1.00 | -| AgileMapper | 19.88 μs | 0.119 μs | 0.099 μs | 19.74 μs | 19.87 μs | 20.04 μs | 1.13 | 0.01 | 2 | 5.2795 | 1.3123 | 86.25 KB | 1.00 | +| Manual | 21.52 μs | 0.183 μs | 0.162 μs | 21.15 μs | 21.58 μs | 21.70 μs | 1.00 | 0.01 | 1 | 5.2490 | 1.3123 | 85.99 KB | 1.00 | +| EggMapper | 20.78 μs | 0.414 μs | 0.935 μs | 19.46 μs | 20.71 μs | 23.24 μs | 0.97 | 0.04 | 1 | 5.2490 | 1.3123 | 85.99 KB | 1.00 | +| AutoMapper | 25.36 μs | 0.503 μs | 0.517 μs | 24.24 μs | 25.46 μs | 26.09 μs | 1.18 | 0.02 | 2 | 5.7678 | 1.4343 | 94.34 KB | 1.10 | +| Mapster | 21.46 μs | 0.426 μs | 0.880 μs | 20.07 μs | 21.31 μs | 23.60 μs | 1.00 | 0.04 | 1 | 5.2490 | 1.3123 | 85.99 KB | 1.00 | +| MapperlyMap | 22.22 μs | 0.442 μs | 1.149 μs | 20.81 μs | 21.90 μs | 25.37 μs | 1.03 | 0.05 | 1 | 5.2490 | 1.2817 | 86.02 KB | 1.00 | +| AgileMapper | 23.03 μs | 0.456 μs | 0.823 μs | 21.85 μs | 22.79 μs | 24.88 μs | 1.07 | 0.04 | 1 | 5.2795 | 1.3123 | 86.25 KB | 1.00 | #### ⚪ Startup / Config -| Method | Mean | Error | StdDev | Min | Median | Max | Ratio | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio | -|------------------ |-------------:|----------:|----------:|-------------:|-------------:|-------------:|------:|-----:|-------:|-------:|----------:|------------:| -| EggMapperStartup | 1,124.276 μs | 5.7255 μs | 5.3556 μs | 1,111.014 μs | 1,123.615 μs | 1,132.871 μs | 1.000 | 3 | 3.9063 | 1.9531 | 95.28 KB | 1.00 | -| AutoMapperStartup | 282.743 μs | 1.4343 μs | 1.1977 μs | 281.281 μs | 282.907 μs | 284.722 μs | 0.251 | 2 | 5.8594 | - | 103.7 KB | 1.09 | -| MapsterStartup | 2.475 μs | 0.0158 μs | 0.0140 μs | 2.431 μs | 2.477 μs | 2.490 μs | 0.002 | 1 | 0.7019 | 0.0267 | 11.51 KB | 0.12 | +| Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio | +|------------------ |-------------:|-----------:|-----------:|-------------:|-------------:|-------------:|------:|--------:|-----:|-------:|-------:|----------:|------------:| +| EggMapperStartup | 1,128.804 μs | 13.5841 μs | 12.7066 μs | 1,095.100 μs | 1,130.245 μs | 1,151.025 μs | 1.000 | 0.02 | 3 | 5.8594 | 1.9531 | 95.68 KB | 1.00 | +| AutoMapperStartup | 242.537 μs | 0.5804 μs | 0.5146 μs | 241.782 μs | 242.531 μs | 243.358 μs | 0.215 | 0.00 | 2 | 5.8594 | - | 103.64 KB | 1.08 | +| MapsterStartup | 2.490 μs | 0.0450 μs | 0.0631 μs | 2.434 μs | 2.471 μs | 2.648 μs | 0.002 | 0.00 | 1 | 0.7019 | 0.0267 | 11.51 KB | 0.12 | #### ⚪ Cold Start (Config + First Map per Type Pair) | Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio | |----------- |---------:|----------:|----------:|---------:|---------:|---------:|------:|--------:|-----:|--------:|--------:|----------:|------------:| -| EggMapper | 1.112 ms | 0.0060 ms | 0.0050 ms | 1.107 ms | 1.110 ms | 1.122 ms | 1.00 | 0.01 | 1 | 5.8594 | 3.9063 | 96.26 KB | 1.00 | -| AutoMapper | 3.255 ms | 0.0234 ms | 0.0218 ms | 3.229 ms | 3.250 ms | 3.304 ms | 2.93 | 0.02 | 3 | 15.6250 | 7.8125 | 310.09 KB | 3.22 | -| Mapster | 2.512 ms | 0.0106 ms | 0.0099 ms | 2.501 ms | 2.512 ms | 2.534 ms | 2.26 | 0.01 | 2 | 39.0625 | 15.6250 | 764.19 KB | 7.94 | +| EggMapper | 1.102 ms | 0.0102 ms | 0.0090 ms | 1.090 ms | 1.102 ms | 1.118 ms | 1.00 | 0.01 | 1 | 5.8594 | 3.9063 | 96.69 KB | 1.00 | +| AutoMapper | 3.386 ms | 0.0066 ms | 0.0052 ms | 3.379 ms | 3.386 ms | 3.398 ms | 3.07 | 0.02 | 3 | 15.6250 | 7.8125 | 310.38 KB | 3.21 | +| Mapster | 2.585 ms | 0.0145 ms | 0.0128 ms | 2.568 ms | 2.586 ms | 2.605 ms | 2.35 | 0.02 | 2 | 39.0625 | 15.6250 | 757.48 KB | 7.83 | ---