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

LibraryVersionSimpleFlat (μs)NestedObject (μs)Collection (μs)NameDifference (μs)
Manual (foreach).NET 10.0.100.02 μs0.04 μs1.98 μs0.01 μs
Manual (LINQ).NET 10.0.100.02 μs0.04 μs2.16 μs0.01 μs
AutoMapper16.2.00.08 μs0.17 μs2.62 μs0.07 μs
Mapster10.1.0-pre020.03 μs0.06 μs2.13 μs0.03 μs
TinyMapper3.0.2-beta0.03 μs0.05 μs2.79 μs0.02 μs
AgileMapper1.8.10.47 μs0.48 μs2.83 μs0.46 μs
Mapperly5.0.0-next.100.02 μs0.04 μs2.2 μs0.01 μs

Memory Allocation

Bytes allocated per operation

LibraryVersionSimpleFlatNestedObjectCollectionNameDifference
Manual (foreach).NET 10.0.1088 B216 B9,656 B56 B
Manual (LINQ).NET 10.0.1088 B216 B9,728 B56 B
AutoMapper16.2.088 B216 B10,992 B56 B
Mapster10.1.0-pre0288 B216 B9,656 B56 B
TinyMapper3.0.2-beta88 B112 B9,656 B56 B
AgileMapper1.8.1352 B376 B9,920 B320 B
Mapperly5.0.0-next.1088 B216 B9,656 B56 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.