Benchmarks running every hour

.NET Mapper
Benchmarks

Real-time performance comparison of popular .NET object mapping libraries. Automated benchmarks with averaged results from the full history of the last 3 months.

Last updated:

Benchmark Results

Average of last 3 months · Mean execution time in microseconds (μs) · Lower is better

Libraries

SimpleFlat

Flat object with primitive properties

NestedObject

Object containing nested child objects

Collection

Object with a collection of 100 items

NameDifference

Source and target have different property names

Mean Execution Time

Microseconds (μs) per operation · lower is better · average of last 3 months

Library Version SimpleFlat (μs)NestedObject (μs)Collection (μs)NameDifference (μs)
Manual (foreach) .NET 10.0.7 0.02 μs 0.04 μs 2.06 μs 0.01 μs
Manual (LINQ) .NET 10.0.7 0.02 μs 0.04 μs 2.21 μs 0.01 μs
AutoMapper 16.1.1 0.07 μs 0.17 μs 2.7 μs 0.07 μs
Mapster 10.0.8-pre06 0.03 μs 0.06 μs 2.24 μs 0.03 μs
TinyMapper 3.0.2-beta 0.03 μs 0.05 μs 2.89 μs 0.02 μs
AgileMapper 1.8.1 0.47 μs 0.5 μs 2.9 μs 0.46 μs
Mapperly 5.0.0-next.7 0.02 μs 0.04 μs 2.27 μs 0.01 μs

Memory Allocation

Bytes allocated per operation

Library Version SimpleFlatNestedObjectCollectionNameDifference
Manual (foreach) .NET 10.0.7 88 B 216 B 9,656 B 56 B
Manual (LINQ) .NET 10.0.7 88 B 216 B 9,728 B 56 B
AutoMapper 16.1.1 88 B 216 B 10,992 B 56 B
Mapster 10.0.8-pre06 88 B 216 B 9,656 B 56 B
TinyMapper 3.0.2-beta 88 B 112 B 9,656 B 56 B
AgileMapper 1.8.1 352 B 376 B 9,920 B 320 B
Mapperly 5.0.0-next.7 88 B 216 B 9,656 B 56 B

How It Works

A transparent and reproducible benchmarking pipeline for .NET object mappers

Automated Execution

BenchmarkDotNet benchmarks run automatically every hour on a dedicated VPS.

📊

Averaged Results

Results shown are the average of the full history of the last 3 months, reducing noise and outliers.

🔄

Auto-Updated Libraries

Library versions are updated automatically so benchmarks always reflect the latest releases.

🎯

Multiple Scenarios

Each library is tested across flat mapping, nested objects, collections, and name differences.