/IocPerformance

Performance comparison of .NET IoC containers

Primary LanguageC#Apache License 2.0Apache-2.0

Ioc Performance

Source code of my performance comparison of the most popular .NET IoC containers:
www.palmmedia.de/Blog/2011/8/30/ioc-container-benchmark-performance-comparison

Author: Daniel Palme
Blog: www.palmmedia.de
Twitter: @danielpalme

Results

ContainerSingletonTransientCombinedComplex
No788893104
Autofac 3.3.0 (http://code.google.com/p/autofac)102272317175169
Caliburn.Micro 1.5.2 (http://caliburnmicro.codeplex.com)43540911324488
Catel 3.9.0 (http://www.catelproject.com)3783756975924901
DryIoc 1.2.0 (https://bitbucket.org/dadhi/dryioc)676683107
Dynamo 3.0.2.0 (http://www.dynamoioc.com)98105164444
fFastInjector 0.8.1 (http://ffastinjector.codeplex.com)86113140216
Funq 1.0.0.0 (http://funq.codeplex.com)127131289952
Grace 2.0.4 (http://grace.codeplex.com)5924015711688
Griffin 1.1.0 (https://github.com/jgauffin/griffin.container)2072625521475
HaveBox 1.6.1 (https://bitbucket.org/Have/havebox)10299113158
Hiro 1.0.3 (https://github.com/philiplaureano/Hiro)130123183191
IfInjector 0.8.1 (https://github.com/iamahern/IfInjector)109127135176
LightCore 1.5.1 (http://www.lightcore.ch)451287119797102595
LightInject 3.0.1.3 (https://github.com/seesharper/LightInject)886572106
LinFu 2.3.0.41559 (https://github.com/philiplaureano/LinFu)63842823770343189899
Maestro 1.3.1 (https://github.com/JonasSamuelsson/Maestro)53245612493542
Mef 4.0.0.0 (http://mef.codeplex.com)369494047167467131693
MicroSliver 2.1.6.0 (http://microsliver.codeplex.com)33595630578282
Mugen 3.5.1 (http://mugeninjection.codeplex.com)80887721697957
Munq 3.1.6 (http://munq.codeplex.com)921274111355
Ninject 3.0.1.10 (http://ninject.org)89971853050983138221
Petite 0.3.2 (https://github.com/andlju/Petite)5715537556517121
SimpleInjector 2.4.1 (http://simpleinjector.codeplex.com)8692104132
Spring.NET 1.3.2 (http://www.springframework.net/)19361647140787104762
StructureMap 2.6.4.1 (http://structuremap.net/structuremap)21782009598415834
StyleMVVM 3.1.5 (http://stylemvvm.codeplex.com)5785437481445
TinyIoC 1.2 (https://github.com/grumpydev/TinyIoC)6012723910134886
Unity 3.0.1304.1 (http://msdn.microsoft.com/unity)291540091166033348
Windsor 3.2.1 (http://castleproject.org)9312700810820969
Advanced Features
ContainerPropertyGenericsIEnumerableConditionalChild ContainerInterception
No11185209155
Autofac 3.3.0 (http://code.google.com/p/autofac)522941615501
Caliburn.Micro 1.5.2 (http://caliburnmicro.codeplex.com)58105222
Catel 3.9.0 (http://www.catelproject.com)9831
DryIoc 1.2.0 (https://bitbucket.org/dadhi/dryioc)11175284130
Dynamo 3.0.2.0 (http://www.dynamoioc.com)584
fFastInjector 0.8.1 (http://ffastinjector.codeplex.com)
Funq 1.0.0.0 (http://funq.codeplex.com)962
Grace 2.0.4 (http://grace.codeplex.com)187693527501554
Griffin 1.1.0 (https://github.com/jgauffin/griffin.container)
HaveBox 1.6.1 (https://bitbucket.org/Have/havebox)888481
Hiro 1.0.3 (https://github.com/philiplaureano/Hiro)1880
IfInjector 0.8.1 (https://github.com/iamahern/IfInjector)295125
LightCore 1.5.1 (http://www.lightcore.ch)21111261130342
LightInject 3.0.1.3 (https://github.com/seesharper/LightInject)12380288124
LinFu 2.3.0.41559 (https://github.com/philiplaureano/LinFu)
Maestro 1.3.1 (https://github.com/JonasSamuelsson/Maestro)623887861532250
Mef 4.0.0.0 (http://mef.codeplex.com)139083156400103587
MicroSliver 2.1.6.0 (http://microsliver.codeplex.com)
Mugen 3.5.1 (http://mugeninjection.codeplex.com)9774748369013562
Munq 3.1.6 (http://munq.codeplex.com)1160
Ninject 3.0.1.10 (http://ninject.org)1316475725411369179990
Petite 0.3.2 (https://github.com/andlju/Petite)9532
SimpleInjector 2.4.1 (http://simpleinjector.codeplex.com)18193628339
Spring.NET 1.3.2 (http://www.springframework.net/)96779
StructureMap 2.6.4.1 (http://structuremap.net/structuremap)19103457719800
StyleMVVM 3.1.5 (http://stylemvvm.codeplex.com)1499120629562349
TinyIoC 1.2 (https://github.com/grumpydev/TinyIoC)430912615
Unity 3.0.1304.1 (http://msdn.microsoft.com/unity)3444554482
Windsor 3.2.1 (http://castleproject.org)42784738722505
Additional Advanced Features
ContainerChild ContainerInterception
No90092
Autofac 3.3.0 (http://code.google.com/p/autofac)6320026544
Caliburn.Micro 1.5.2 (http://caliburnmicro.codeplex.com)
Catel 3.9.0 (http://www.catelproject.com)3791
DryIoc 1.2.0 (https://bitbucket.org/dadhi/dryioc)
Dynamo 3.0.2.0 (http://www.dynamoioc.com)
fFastInjector 0.8.1 (http://ffastinjector.codeplex.com)
Funq 1.0.0.0 (http://funq.codeplex.com)
Grace 2.0.4 (http://grace.codeplex.com)102007601
Griffin 1.1.0 (https://github.com/jgauffin/griffin.container)
HaveBox 1.6.1 (https://bitbucket.org/Have/havebox)577
Hiro 1.0.3 (https://github.com/philiplaureano/Hiro)
IfInjector 0.8.1 (https://github.com/iamahern/IfInjector)
LightCore 1.5.1 (http://www.lightcore.ch)
LightInject 3.0.1.3 (https://github.com/seesharper/LightInject)1172
LinFu 2.3.0.41559 (https://github.com/philiplaureano/LinFu)
Maestro 1.3.1 (https://github.com/JonasSamuelsson/Maestro)21890007305
Mef 4.0.0.0 (http://mef.codeplex.com)
MicroSliver 2.1.6.0 (http://microsliver.codeplex.com)
Mugen 3.5.1 (http://mugeninjection.codeplex.com)42550021569
Munq 3.1.6 (http://munq.codeplex.com)
Ninject 3.0.1.10 (http://ninject.org)2399520026303
Petite 0.3.2 (https://github.com/andlju/Petite)
SimpleInjector 2.4.1 (http://simpleinjector.codeplex.com)6266
Spring.NET 1.3.2 (http://www.springframework.net/)61985
StructureMap 2.6.4.1 (http://structuremap.net/structuremap)41660011168
StyleMVVM 3.1.5 (http://stylemvvm.codeplex.com)
TinyIoC 1.2 (https://github.com/grumpydev/TinyIoC)10900
Unity 3.0.1304.1 (http://msdn.microsoft.com/unity)26700110279
Windsor 3.2.1 (http://castleproject.org)12610018511