#if NET4X using BenchmarkDotNet.Attributes; using Susanoo; using Susanoo.Processing; using System.ComponentModel; using System.Data; using System.Linq; namespace Dapper.Tests.Performance { [Description("Susanoo")] public class SusanooBenchmarks : BenchmarkBase { private DatabaseManager _db; private static readonly ISingleResultSetCommandProcessor _cmd = CommandManager.Instance.DefineCommand("SELECT * FROM Posts WHERE Id = @Id", CommandType.Text) .DefineResults() .Realize(); private static readonly ISingleResultSetCommandProcessor _cmdDynamic = CommandManager.Instance.DefineCommand("SELECT * FROM Posts WHERE Id = @Id", CommandType.Text) .DefineResults() .Realize(); [GlobalSetup] public void Setup() { BaseSetup(); _db = new DatabaseManager(_connection); } [Benchmark(Description = "Execute (Cache)")] public Post MappingCache() { Step(); return CommandManager.Instance.DefineCommand("SELECT * FROM Posts WHERE Id = @Id", CommandType.Text) .DefineResults() .Realize() .Execute(_db, new { Id = i }).First(); } [Benchmark(Description = "Execute (Cache)")] public dynamic MappingCacheDynamic() { Step(); return CommandManager.Instance.DefineCommand("SELECT * FROM Posts WHERE Id = @Id", CommandType.Text) .DefineResults() .Realize() .Execute(_db, new { Id = i }).First(); } [Benchmark(Description = "Execute (Static)")] public Post MappingStatic() { Step(); return _cmd.Execute(_db, new { Id = i }).First(); } [Benchmark(Description = "Execut (Static)")] public dynamic MappingStaticDynamic() { Step(); return _cmdDynamic.Execute(_db, new { Id = i }).First(); } } } #endif