public SimpleObjectBenchmarks() { var serviceContainer = new ServiceContainer(); serviceContainer.Transients.AddType <IUserService, UserService1>(); serviceContainer.Transients.AddType <IUserService, UserService2>(); serviceContainer.Transients.AddType <IUserService, UserService>(); serviceContainer.Transients.AddType(typeof(IRepository <>), typeof(Repository <>)); serviceResolver = serviceContainer.Build(); var serviceCollection = new ServiceCollection(); serviceCollection.AddTransient <IUserService, UserService1>(); serviceCollection.AddTransient <IUserService, UserService2>(); serviceCollection.AddTransient <IUserService, UserService>(); serviceCollection.AddTransient(typeof(IRepository <>), typeof(Repository <>)); serviceProvider = serviceCollection.BuildServiceProvider(); var containerBuilder = new ContainerBuilder(); containerBuilder.RegisterType <UserService1>().As <IUserService>().InstancePerDependency(); containerBuilder.RegisterType <UserService2>().As <IUserService>().InstancePerDependency(); containerBuilder.RegisterGeneric(typeof(Repository <>)).As(typeof(IRepository <>)); containerBuilder.RegisterType <UserService>().As <IUserService>().InstancePerDependency(); autofacContainer = containerBuilder.Build(); zkWebContainer = new ZKWebContainer(); zkWebContainer.Register <IUserService, UserService1>(ReuseType.Transient, null); zkWebContainer.Register <IUserService, UserService2>(ReuseType.Transient, null); zkWebContainer.Register <IUserService, UserService>(ReuseType.Transient, null); zkWebContainer.Register(typeof(IRepository <>), typeof(Repository <>), ReuseType.Transient, null); dryIocContainer = new DryIocContainer(); dryIocContainer.Register <IUserService, UserService1>(); dryIocContainer.Register <IUserService, UserService2>(); dryIocContainer.Register <IUserService, UserService>(); dryIocContainer.Register(typeof(IRepository <>), typeof(Repository <>)); }