diff --git a/README.md b/README.md index 359ef09..9edde9f 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ public class MyService(IMapper mapper) { ... } ## Performance -> ⏱ **Last updated:** 2026-05-01 17:19 UTC +> ⏱ **Last updated:** 2026-05-02 08:53 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)** | 16.28 ns | **26.69 ns (1.6×)** | 28.77 ns (1.8×) | 81.78 ns (5.0×) | 16.24 ns (1.0×) | -| **Flattening** | 20.32 ns | **31.40 ns (1.6×)** | 34.92 ns (1.7×) | 81.19 ns (4.0×) | 25.77 ns (1.3×) | -| **Deep (2 nested)** | 57.85 ns | **73.59 ns (1.3×)** | 72.58 ns (1.2×) | 109.06 ns (1.9×) | 56.32 ns (1.0×) | -| **Complex (nest+coll)** | 82.74 ns | **107.48 ns (1.3×)** | 103.45 ns (1.2×) | 146.89 ns (1.8×) | 80.72 ns (1.0×) | -| **Collection (100)** | 2.088 μs | **2.171 μs (1.0×)** | 2.032 μs (1.0×) | 2.650 μs (1.3×) | 2.242 μs (1.1×) | -| **Deep Coll (100)** | 6.001 μs | **6.398 μs (1.1×)** | 6.508 μs (1.1×) | 7.153 μs (1.2×) | 5.946 μs (1.0×) | -| **Large Coll (1000)** | 21.92 μs | **21.75 μs (1.0×)** | 21.00 μs (1.0×) | 24.75 μs (1.1×) | 21.99 μs (1.0×) | +| **Flat (10 props)** | 17.93 ns | **27.74 ns (1.6×)** | 28.80 ns (1.6×) | 68.57 ns (3.8×) | 17.25 ns (1.0×) | +| **Flattening** | 19.12 ns | **30.64 ns (1.6×)** | 39.42 ns (2.1×) | 72.90 ns (3.8×) | 26.75 ns (1.4×) | +| **Deep (2 nested)** | 58.81 ns | **71.17 ns (1.2×)** | 80.10 ns (1.4×) | 113.17 ns (1.9×) | 58.97 ns (1.0×) | +| **Complex (nest+coll)** | 77.36 ns | **98.77 ns (1.3×)** | 93.74 ns (1.2×) | 148.11 ns (1.9×) | 77.82 ns (1.0×) | +| **Collection (100)** | 1.976 μs | **1.989 μs (1.0×)** | 1.918 μs (1.0×) | 2.485 μs (1.3×) | 2.134 μs (1.1×) | +| **Deep Coll (100)** | 6.076 μs | **6.187 μs (1.0×)** | 6.314 μs (1.0×) | 7.340 μs (1.2×) | 5.953 μs (1.0×) | +| **Large Coll (1000)** | 17.85 μs | **19.30 μs (1.1×)** | 17.63 μs (1.0×) | 24.56 μs (1.4×) | 21.75 μs (1.2×) | **\*** *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 | 16.28 ns | 0.216 ns | 0.191 ns | 15.94 ns | 16.27 ns | 16.63 ns | 1.00 | 0.02 | 1 | 0.0048 | 80 B | 1.00 | -| EggMapper | 26.69 ns | 0.168 ns | 0.141 ns | 26.38 ns | 26.69 ns | 26.91 ns | 1.64 | 0.02 | 3 | 0.0048 | 80 B | 1.00 | -| AutoMapper | 81.78 ns | 0.141 ns | 0.125 ns | 81.48 ns | 81.79 ns | 81.98 ns | 5.02 | 0.06 | 5 | 0.0048 | 80 B | 1.00 | -| Mapster | 28.77 ns | 0.317 ns | 0.296 ns | 28.38 ns | 28.71 ns | 29.28 ns | 1.77 | 0.03 | 4 | 0.0048 | 80 B | 1.00 | -| MapperlyMap | 16.24 ns | 0.160 ns | 0.142 ns | 15.93 ns | 16.29 ns | 16.40 ns | 1.00 | 0.01 | 1 | 0.0048 | 80 B | 1.00 | -| AgileMapper | 333.59 ns | 1.334 ns | 1.248 ns | 331.09 ns | 333.45 ns | 335.67 ns | 20.49 | 0.24 | 6 | 0.0205 | 344 B | 4.30 | -| EggMapperGenerator | 16.42 ns | 0.205 ns | 0.192 ns | 16.00 ns | 16.46 ns | 16.70 ns | 1.01 | 0.02 | 1 | 0.0048 | 80 B | 1.00 | -| EggMapperClassMapper | 17.27 ns | 0.215 ns | 0.201 ns | 16.89 ns | 17.29 ns | 17.60 ns | 1.06 | 0.02 | 2 | 0.0048 | 80 B | 1.00 | +| Manual | 17.93 ns | 0.338 ns | 0.316 ns | 17.38 ns | 17.99 ns | 18.45 ns | 1.00 | 0.02 | 1 | 0.0032 | 80 B | 1.00 | +| EggMapper | 27.74 ns | 0.338 ns | 0.316 ns | 26.98 ns | 27.80 ns | 28.14 ns | 1.55 | 0.03 | 2 | 0.0032 | 80 B | 1.00 | +| AutoMapper | 68.57 ns | 0.332 ns | 0.311 ns | 67.97 ns | 68.65 ns | 69.00 ns | 3.83 | 0.07 | 3 | 0.0031 | 80 B | 1.00 | +| Mapster | 28.80 ns | 0.344 ns | 0.322 ns | 28.24 ns | 28.74 ns | 29.43 ns | 1.61 | 0.03 | 2 | 0.0032 | 80 B | 1.00 | +| MapperlyMap | 17.25 ns | 0.375 ns | 0.350 ns | 16.82 ns | 17.15 ns | 18.02 ns | 0.96 | 0.03 | 1 | 0.0032 | 80 B | 1.00 | +| AgileMapper | 346.31 ns | 0.501 ns | 0.469 ns | 345.55 ns | 346.29 ns | 347.17 ns | 19.32 | 0.33 | 4 | 0.0134 | 344 B | 4.30 | +| EggMapperGenerator | 17.85 ns | 0.418 ns | 0.447 ns | 17.11 ns | 17.87 ns | 18.59 ns | 1.00 | 0.03 | 1 | 0.0032 | 80 B | 1.00 | +| EggMapperClassMapper | 17.39 ns | 0.288 ns | 0.269 ns | 16.96 ns | 17.39 ns | 17.84 ns | 0.97 | 0.02 | 1 | 0.0032 | 80 B | 1.00 | #### 🟡 Flattening | Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Allocated | Alloc Ratio | |------------ |----------:|---------:|---------:|----------:|----------:|----------:|------:|--------:|-----:|-------:|----------:|------------:| -| Manual | 20.32 ns | 0.155 ns | 0.137 ns | 20.15 ns | 20.27 ns | 20.59 ns | 1.00 | 0.01 | 1 | 0.0048 | 80 B | 1.00 | -| EggMap | 31.40 ns | 0.366 ns | 0.342 ns | 31.00 ns | 31.26 ns | 32.16 ns | 1.55 | 0.02 | 3 | 0.0048 | 80 B | 1.00 | -| AutoMapper | 81.19 ns | 0.231 ns | 0.205 ns | 80.86 ns | 81.19 ns | 81.55 ns | 4.00 | 0.03 | 5 | 0.0048 | 80 B | 1.00 | -| Mapster | 34.92 ns | 0.101 ns | 0.084 ns | 34.81 ns | 34.88 ns | 35.10 ns | 1.72 | 0.01 | 4 | 0.0048 | 80 B | 1.00 | -| MapperlyMap | 25.77 ns | 0.361 ns | 0.338 ns | 25.43 ns | 25.67 ns | 26.19 ns | 1.27 | 0.02 | 2 | 0.0062 | 104 B | 1.30 | -| AgileMapper | 333.89 ns | 1.756 ns | 1.557 ns | 330.43 ns | 333.76 ns | 336.87 ns | 16.43 | 0.13 | 6 | 0.0205 | 344 B | 4.30 | +| Manual | 19.12 ns | 0.232 ns | 0.217 ns | 18.85 ns | 19.15 ns | 19.54 ns | 1.00 | 0.02 | 1 | 0.0032 | 80 B | 1.00 | +| EggMap | 30.64 ns | 0.208 ns | 0.185 ns | 30.42 ns | 30.57 ns | 31.02 ns | 1.60 | 0.02 | 3 | 0.0032 | 80 B | 1.00 | +| AutoMapper | 72.90 ns | 0.280 ns | 0.248 ns | 72.41 ns | 72.95 ns | 73.28 ns | 3.81 | 0.04 | 5 | 0.0031 | 80 B | 1.00 | +| Mapster | 39.42 ns | 0.263 ns | 0.246 ns | 39.07 ns | 39.55 ns | 39.81 ns | 2.06 | 0.03 | 4 | 0.0032 | 80 B | 1.00 | +| MapperlyMap | 26.75 ns | 0.421 ns | 0.393 ns | 26.18 ns | 26.78 ns | 27.44 ns | 1.40 | 0.03 | 2 | 0.0041 | 104 B | 1.30 | +| AgileMapper | 356.89 ns | 0.370 ns | 0.309 ns | 356.60 ns | 356.79 ns | 357.63 ns | 18.67 | 0.20 | 6 | 0.0134 | 344 B | 4.30 | #### 🟣 Deep Mapping (2 nested objects) | Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Allocated | Alloc Ratio | |------------ |----------:|---------:|---------:|----------:|----------:|----------:|------:|--------:|-----:|-------:|----------:|------------:| -| Manual | 57.85 ns | 0.127 ns | 0.113 ns | 57.73 ns | 57.83 ns | 58.06 ns | 1.00 | 0.00 | 1 | 0.0162 | 272 B | 1.00 | -| EggMapper | 73.59 ns | 0.491 ns | 0.459 ns | 72.83 ns | 73.65 ns | 74.32 ns | 1.27 | 0.01 | 2 | 0.0162 | 272 B | 1.00 | -| AutoMapper | 109.06 ns | 0.164 ns | 0.145 ns | 108.84 ns | 109.04 ns | 109.32 ns | 1.89 | 0.00 | 3 | 0.0162 | 272 B | 1.00 | -| Mapster | 72.58 ns | 0.189 ns | 0.177 ns | 72.41 ns | 72.54 ns | 72.90 ns | 1.25 | 0.00 | 2 | 0.0162 | 272 B | 1.00 | -| MapperlyMap | 56.32 ns | 0.674 ns | 0.630 ns | 55.47 ns | 56.28 ns | 57.56 ns | 0.97 | 0.01 | 1 | 0.0162 | 272 B | 1.00 | -| AgileMapper | 412.46 ns | 0.983 ns | 0.871 ns | 410.56 ns | 412.52 ns | 414.07 ns | 7.13 | 0.02 | 4 | 0.0253 | 424 B | 1.56 | +| Manual | 58.81 ns | 0.905 ns | 0.847 ns | 57.63 ns | 58.67 ns | 60.34 ns | 1.00 | 0.02 | 1 | 0.0107 | 272 B | 1.00 | +| EggMapper | 71.17 ns | 0.994 ns | 0.929 ns | 69.55 ns | 71.20 ns | 72.85 ns | 1.21 | 0.02 | 2 | 0.0107 | 272 B | 1.00 | +| AutoMapper | 113.17 ns | 1.248 ns | 1.167 ns | 111.30 ns | 113.54 ns | 114.88 ns | 1.92 | 0.03 | 4 | 0.0107 | 272 B | 1.00 | +| Mapster | 80.10 ns | 1.106 ns | 0.980 ns | 77.59 ns | 80.36 ns | 81.49 ns | 1.36 | 0.02 | 3 | 0.0107 | 272 B | 1.00 | +| MapperlyMap | 58.97 ns | 0.843 ns | 0.789 ns | 57.16 ns | 59.26 ns | 60.08 ns | 1.00 | 0.02 | 1 | 0.0107 | 272 B | 1.00 | +| AgileMapper | 393.17 ns | 0.618 ns | 0.578 ns | 392.27 ns | 393.13 ns | 394.08 ns | 6.69 | 0.09 | 5 | 0.0167 | 424 B | 1.56 | #### 🟢 Complex Mapping (nested + collection) | Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Allocated | Alloc Ratio | |------------ |----------:|---------:|---------:|----------:|----------:|----------:|------:|--------:|-----:|-------:|----------:|------------:| -| Manual | 82.74 ns | 0.525 ns | 0.491 ns | 81.76 ns | 82.98 ns | 83.23 ns | 1.00 | 0.01 | 1 | 0.0191 | 320 B | 1.00 | -| EggMapper | 107.48 ns | 0.952 ns | 0.890 ns | 105.74 ns | 107.61 ns | 108.67 ns | 1.30 | 0.01 | 3 | 0.0191 | 320 B | 1.00 | -| AutoMapper | 146.89 ns | 1.469 ns | 1.375 ns | 144.72 ns | 146.71 ns | 149.89 ns | 1.78 | 0.02 | 4 | 0.0196 | 328 B | 1.02 | -| Mapster | 103.45 ns | 0.702 ns | 0.622 ns | 102.19 ns | 103.41 ns | 104.51 ns | 1.25 | 0.01 | 2 | 0.0191 | 320 B | 1.00 | -| MapperlyMap | 80.72 ns | 0.719 ns | 0.673 ns | 79.42 ns | 80.91 ns | 81.64 ns | 0.98 | 0.01 | 1 | 0.0191 | 320 B | 1.00 | -| AgileMapper | 397.18 ns | 1.295 ns | 1.082 ns | 395.51 ns | 397.19 ns | 399.32 ns | 4.80 | 0.03 | 5 | 0.0315 | 528 B | 1.65 | +| Manual | 77.36 ns | 1.370 ns | 1.282 ns | 75.16 ns | 77.51 ns | 79.17 ns | 1.00 | 0.02 | 1 | 0.0126 | 320 B | 1.00 | +| EggMapper | 98.77 ns | 1.105 ns | 0.979 ns | 96.96 ns | 98.78 ns | 100.54 ns | 1.28 | 0.02 | 3 | 0.0126 | 320 B | 1.00 | +| AutoMapper | 148.11 ns | 0.523 ns | 0.489 ns | 147.22 ns | 148.19 ns | 148.91 ns | 1.92 | 0.03 | 4 | 0.0129 | 328 B | 1.02 | +| Mapster | 93.74 ns | 0.764 ns | 0.715 ns | 92.84 ns | 93.59 ns | 94.97 ns | 1.21 | 0.02 | 2 | 0.0126 | 320 B | 1.00 | +| MapperlyMap | 77.82 ns | 1.283 ns | 1.200 ns | 76.36 ns | 77.75 ns | 80.80 ns | 1.01 | 0.02 | 1 | 0.0126 | 320 B | 1.00 | +| AgileMapper | 433.17 ns | 1.052 ns | 0.984 ns | 431.42 ns | 433.39 ns | 434.76 ns | 5.60 | 0.09 | 5 | 0.0210 | 528 B | 1.65 | #### 🟠 Collection (100 items) | Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio | |------------ |---------:|----------:|----------:|---------:|---------:|---------:|------:|--------:|-----:|-------:|-------:|----------:|------------:| -| Manual | 2.088 μs | 0.0417 μs | 0.1113 μs | 1.932 μs | 2.072 μs | 2.372 μs | 1.00 | 0.07 | 1 | 0.5264 | 0.0153 | 8.65 KB | 1.00 | -| EggMapper | 2.171 μs | 0.0375 μs | 0.0351 μs | 2.121 μs | 2.167 μs | 2.255 μs | 1.04 | 0.06 | 1 | 0.5264 | 0.0153 | 8.65 KB | 1.00 | -| AutoMapper | 2.650 μs | 0.0338 μs | 0.0316 μs | 2.598 μs | 2.648 μs | 2.703 μs | 1.27 | 0.07 | 2 | 0.6065 | 0.0191 | 9.95 KB | 1.15 | -| Mapster | 2.032 μs | 0.0393 μs | 0.0436 μs | 1.959 μs | 2.027 μs | 2.115 μs | 0.98 | 0.05 | 1 | 0.5264 | 0.0153 | 8.65 KB | 1.00 | -| MapperlyMap | 2.242 μs | 0.0390 μs | 0.0365 μs | 2.146 μs | 2.244 μs | 2.288 μs | 1.08 | 0.06 | 1 | 0.5264 | 0.0153 | 8.65 KB | 1.00 | -| AgileMapper | 2.776 μs | 0.0552 μs | 0.1164 μs | 2.601 μs | 2.781 μs | 3.043 μs | 1.33 | 0.09 | 2 | 0.5417 | 0.0153 | 8.91 KB | 1.03 | +| Manual | 1.976 μs | 0.0382 μs | 0.0375 μs | 1.901 μs | 1.977 μs | 2.029 μs | 1.00 | 0.03 | 1 | 0.3510 | 0.0076 | 8.65 KB | 1.00 | +| EggMapper | 1.989 μs | 0.0329 μs | 0.0308 μs | 1.929 μs | 1.992 μs | 2.033 μs | 1.01 | 0.02 | 1 | 0.3510 | 0.0076 | 8.65 KB | 1.00 | +| AutoMapper | 2.485 μs | 0.0356 μs | 0.0315 μs | 2.444 μs | 2.483 μs | 2.545 μs | 1.26 | 0.03 | 3 | 0.4044 | 0.0114 | 9.95 KB | 1.15 | +| Mapster | 1.918 μs | 0.0346 μs | 0.0324 μs | 1.845 μs | 1.922 μs | 1.970 μs | 0.97 | 0.02 | 1 | 0.3529 | 0.0114 | 8.65 KB | 1.00 | +| MapperlyMap | 2.134 μs | 0.0426 μs | 0.0437 μs | 2.064 μs | 2.130 μs | 2.204 μs | 1.08 | 0.03 | 2 | 0.3510 | 0.0076 | 8.65 KB | 1.00 | +| AgileMapper | 2.607 μs | 0.0326 μs | 0.0305 μs | 2.550 μs | 2.610 μs | 2.669 μs | 1.32 | 0.03 | 4 | 0.3624 | 0.0114 | 8.91 KB | 1.03 | #### 🔴 Deep Collection (100 items, nested) -| Method | Mean | Error | StdDev | Min | Median | Max | Ratio | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio | -|------------ |---------:|----------:|----------:|---------:|---------:|---------:|------:|-----:|-------:|-------:|----------:|------------:| -| Manual | 6.001 μs | 0.0324 μs | 0.0270 μs | 5.938 μs | 6.019 μs | 6.024 μs | 1.00 | 2 | 1.6708 | 0.0916 | 27.4 KB | 1.00 | -| EggMapper | 6.398 μs | 0.0378 μs | 0.0335 μs | 6.302 μs | 6.408 μs | 6.425 μs | 1.07 | 3 | 1.6708 | 0.0916 | 27.4 KB | 1.00 | -| AutoMapper | 7.153 μs | 0.0372 μs | 0.0311 μs | 7.077 μs | 7.157 μs | 7.196 μs | 1.19 | 4 | 1.7548 | 0.1068 | 28.7 KB | 1.05 | -| Mapster | 6.508 μs | 0.0446 μs | 0.0396 μs | 6.416 μs | 6.514 μs | 6.572 μs | 1.08 | 3 | 1.6708 | 0.0916 | 27.4 KB | 1.00 | -| MapperlyMap | 5.946 μs | 0.0106 μs | 0.0094 μs | 5.935 μs | 5.943 μs | 5.968 μs | 0.99 | 2 | 1.6785 | 0.0992 | 27.42 KB | 1.00 | -| AgileMapper | 5.651 μs | 0.0328 μs | 0.0274 μs | 5.599 μs | 5.653 μs | 5.706 μs | 0.94 | 1 | 1.0223 | 0.0610 | 16.72 KB | 0.61 | +| Method | Mean | Error | StdDev | Min | Median | Max | Ratio | RatioSD | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio | +|------------ |---------:|----------:|----------:|---------:|---------:|---------:|------:|--------:|-----:|-------:|-------:|----------:|------------:| +| Manual | 6.076 μs | 0.1199 μs | 0.1122 μs | 5.871 μs | 6.094 μs | 6.251 μs | 1.00 | 0.03 | 2 | 1.1139 | 0.0610 | 27.4 KB | 1.00 | +| EggMapper | 6.187 μs | 0.1198 μs | 0.1639 μs | 5.947 μs | 6.197 μs | 6.493 μs | 1.02 | 0.03 | 2 | 1.1139 | 0.0610 | 27.4 KB | 1.00 | +| AutoMapper | 7.340 μs | 0.1183 μs | 0.1106 μs | 7.197 μs | 7.319 μs | 7.557 μs | 1.21 | 0.03 | 3 | 1.1673 | 0.0687 | 28.7 KB | 1.05 | +| Mapster | 6.314 μs | 0.1163 μs | 0.1031 μs | 6.081 μs | 6.329 μs | 6.481 μs | 1.04 | 0.02 | 2 | 1.1139 | 0.0610 | 27.4 KB | 1.00 | +| MapperlyMap | 5.953 μs | 0.1146 μs | 0.1177 μs | 5.801 μs | 5.955 μs | 6.113 μs | 0.98 | 0.03 | 2 | 1.1139 | 0.0610 | 27.42 KB | 1.00 | +| AgileMapper | 5.518 μs | 0.0611 μs | 0.0572 μs | 5.414 μs | 5.528 μs | 5.594 μs | 0.91 | 0.02 | 1 | 0.6790 | 0.0381 | 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 | 21.92 μs | 0.345 μs | 0.288 μs | 21.37 μs | 21.96 μs | 22.47 μs | 1.00 | 0.02 | 1 | 5.2490 | 1.3123 | 85.99 KB | 1.00 | -| EggMapper | 21.75 μs | 0.425 μs | 0.745 μs | 19.82 μs | 21.83 μs | 23.33 μs | 0.99 | 0.04 | 1 | 5.2490 | 1.3123 | 85.99 KB | 1.00 | -| AutoMapper | 24.75 μs | 0.479 μs | 0.655 μs | 23.86 μs | 24.59 μs | 26.29 μs | 1.13 | 0.03 | 3 | 5.7678 | 1.4343 | 94.34 KB | 1.10 | -| Mapster | 21.00 μs | 0.402 μs | 0.395 μs | 20.08 μs | 20.93 μs | 21.68 μs | 0.96 | 0.02 | 1 | 5.2490 | 1.3123 | 85.99 KB | 1.00 | -| MapperlyMap | 21.99 μs | 0.436 μs | 0.728 μs | 20.77 μs | 22.04 μs | 23.63 μs | 1.00 | 0.04 | 1 | 5.2490 | 1.2817 | 86.02 KB | 1.00 | -| AgileMapper | 23.53 μs | 0.315 μs | 0.337 μs | 22.97 μs | 23.52 μs | 24.33 μs | 1.07 | 0.02 | 2 | 5.2795 | 1.3123 | 86.25 KB | 1.00 | +| Manual | 17.85 μs | 0.203 μs | 0.180 μs | 17.61 μs | 17.85 μs | 18.17 μs | 1.00 | 0.01 | 1 | 3.4790 | 0.8545 | 85.99 KB | 1.00 | +| EggMapper | 19.30 μs | 0.201 μs | 0.178 μs | 19.08 μs | 19.30 μs | 19.58 μs | 1.08 | 0.01 | 2 | 3.4790 | 0.8545 | 85.99 KB | 1.00 | +| AutoMapper | 24.56 μs | 0.226 μs | 0.212 μs | 24.10 μs | 24.56 μs | 24.95 μs | 1.38 | 0.02 | 4 | 3.8452 | 0.9460 | 94.34 KB | 1.10 | +| Mapster | 17.63 μs | 0.321 μs | 0.300 μs | 17.11 μs | 17.55 μs | 18.24 μs | 0.99 | 0.02 | 1 | 3.4790 | 0.8545 | 85.99 KB | 1.00 | +| MapperlyMap | 21.75 μs | 0.310 μs | 0.290 μs | 21.35 μs | 21.67 μs | 22.28 μs | 1.22 | 0.02 | 3 | 3.5095 | 0.8545 | 86.02 KB | 1.00 | +| AgileMapper | 22.22 μs | 0.214 μs | 0.200 μs | 21.79 μs | 22.20 μs | 22.51 μs | 1.25 | 0.02 | 3 | 3.5095 | 0.8545 | 86.25 KB | 1.00 | #### ⚪ Startup / Config | Method | Mean | Error | StdDev | Min | Median | Max | Ratio | Rank | Gen0 | Gen1 | Allocated | Alloc Ratio | |------------------ |-------------:|----------:|----------:|-------------:|-------------:|-------------:|------:|-----:|-------:|-------:|----------:|------------:| -| EggMapperStartup | 1,167.515 μs | 8.6462 μs | 7.2200 μs | 1,154.638 μs | 1,166.140 μs | 1,178.981 μs | 1.000 | 3 | 3.9063 | 1.9531 | 95.2 KB | 1.00 | -| AutoMapperStartup | 246.947 μs | 1.2288 μs | 1.0893 μs | 244.479 μs | 247.263 μs | 248.474 μs | 0.212 | 2 | 5.8594 | - | 103.82 KB | 1.09 | -| MapsterStartup | 2.719 μs | 0.0541 μs | 0.0842 μs | 2.598 μs | 2.700 μs | 2.900 μs | 0.002 | 1 | 0.7019 | 0.0267 | 11.51 KB | 0.12 | +| EggMapperStartup | 1,162.040 μs | 7.2902 μs | 6.4626 μs | 1,150.654 μs | 1,162.926 μs | 1,172.448 μs | 1.000 | 3 | 3.9063 | - | 95.67 KB | 1.00 | +| AutoMapperStartup | 259.904 μs | 0.5975 μs | 0.4989 μs | 259.020 μs | 259.958 μs | 260.553 μs | 0.224 | 2 | 3.9063 | - | 103.76 KB | 1.08 | +| MapsterStartup | 2.906 μs | 0.0389 μs | 0.0364 μs | 2.848 μs | 2.897 μs | 2.973 μs | 0.003 | 1 | 0.4692 | 0.0114 | 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.174 ms | 0.0176 ms | 0.0156 ms | 1.150 ms | 1.181 ms | 1.198 ms | 1.00 | 0.02 | 1 | 5.8594 | 3.9063 | 95.84 KB | 1.00 | -| AutoMapper | 3.533 ms | 0.0562 ms | 0.0525 ms | 3.404 ms | 3.554 ms | 3.583 ms | 3.01 | 0.06 | 3 | 15.6250 | 7.8125 | 309.72 KB | 3.23 | -| Mapster | 2.630 ms | 0.0084 ms | 0.0070 ms | 2.619 ms | 2.630 ms | 2.644 ms | 2.24 | 0.03 | 2 | 46.8750 | 15.6250 | 766.46 KB | 8.00 | +| EggMapper | 1.145 ms | 0.0099 ms | 0.0092 ms | 1.133 ms | 1.145 ms | 1.162 ms | 1.00 | 0.01 | 1 | 3.9063 | 1.9531 | 95.94 KB | 1.00 | +| AutoMapper | 3.310 ms | 0.0221 ms | 0.0207 ms | 3.242 ms | 3.312 ms | 3.328 ms | 2.89 | 0.03 | 3 | 7.8125 | - | 309.91 KB | 3.23 | +| Mapster | 2.492 ms | 0.0460 ms | 0.0430 ms | 2.456 ms | 2.469 ms | 2.575 ms | 2.18 | 0.04 | 2 | 23.4375 | 15.6250 | 758.49 KB | 7.91 | ---