From 3856a722cfaaca931241eb35e90564b50fc25986 Mon Sep 17 00:00:00 2001 From: Amy Date: Wed, 2 Oct 2024 13:56:01 +0100 Subject: [PATCH] feat: added new benchmarks for comparison to manual mapping --- MapDataReader.Benchmarks/Program.cs | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/MapDataReader.Benchmarks/Program.cs b/MapDataReader.Benchmarks/Program.cs index d402e0c..dd18ef9 100644 --- a/MapDataReader.Benchmarks/Program.cs +++ b/MapDataReader.Benchmarks/Program.cs @@ -63,12 +63,32 @@ public void MapDatareader_ViaDapper() } [Benchmark] - public void MapDataReader_ViaMapaDataReader() + public void MapDataReader_ViaMapDataReader() { var dr = _dt.CreateDataReader(); var list = dr.ToTestClass(); } + [Benchmark] + public void MapDataReader_ViaManualMap() + { + var dr = _dt.CreateDataReader(); + + var list = new List(); + while (dr.Read()) + { + list.Add(new TestClass + { + String1 = dr["String1"] as string, + String2 = dr["String2"] as string, + String3 = dr["String3"] as string, + Int = dr.GetInt32(3), + Int2 = dr.GetInt32(4), + IntNullable = dr["IntNullable"] as int? + }); + } + } + static DataTable _dt; [GlobalSetup] @@ -99,8 +119,8 @@ public class TestClass public string String1 { get; set; } public string String2 { get; set; } public string String3 { get; set; } - public string Int { get; set; } - public string Int2 { get; set; } + public int Int { get; set; } + public int Int2 { get; set; } public int? IntNullable { get; set; } } } \ No newline at end of file