public void PerfTest(SqlDialect dialect) { var sagaInfo = BuildSagaInfo <S, S.SagaData>(dialect); var data = new S.SagaData { StringProperty = "Some bigger test", GuidProperty = Guid.NewGuid(), OriginalMessageId = Guid.NewGuid().ToString(), Originator = "originator", IntProperty = 5, Id = Guid.NewGuid() }; // warm up using (var cmd = new CommandWrapper(null, dialect)) { Console.WriteLine(dialect.BuildSagaData(cmd, sagaInfo, data)); } var sw = Stopwatch.StartNew(); for (var i = 0; i < 10_000_000; i++) { using (var cmd = new CommandWrapper(null, dialect)) { dialect.BuildSagaData(cmd, sagaInfo, data); } } Console.WriteLine($"Test took: '{sw.Elapsed}'"); }