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
Container | Singleton | Transient | Combined | Complex |
---|---|---|---|---|
No | 115 | 94 | 102 | 127 |
Autofac 3.3.1 | 826 | 2132 | 5659 | 16112 |
Caliburn.Micro 1.5.2 | 474 | 566 | 1664 | 7402 |
Catel 3.9.0 | 372 | 4498 | 13350 | 33606 |
DryIoc 1.2.0 | 53 | 77 | 82 | 101 |
Dynamo 3.0.2.0 | 108 | 140 | 216 | 791 |
fFastInjector 0.8.1 | 98 | 129 | 164 | 271 |
Funq 1.0.0.0 | 158 | 186 | 423 | 1271 |
Grace 2.2.1 | 181 | 223 | 578 | 1778 |
Griffin 1.1.1 | 269 | 261 | 709 | 2026 |
HaveBox 2.0.0 | 78 | 86 | 95 | 151 |
Hiro 1.0.4.41795 | 196 | 195 | 208 | 263 |
IfInjector 0.8.1 | 99 | 152 | 175 | 231 |
LightCore 1.5.1 | 190 | 3000 | 36503 | 215898 |
LightInject 3.0.1.6 | 51 | 71 | 74 | 121 |
LinFu 2.3.0.41559 | 4067 | 26467 | 66663 | 184134 |
Maestro 1.3.1 | 427 | 519 | 1459 | 5887 |
Mef 4.0.0.0 | 33062 | 50433 | 80331 | 156652 |
Mef2 1.0.20.0 | 322 | 301 | 364 | 596 |
MicroSliver 2.1.6.0 | 252 | 787 | 2781 | 7985 |
Mugen 3.5.1 | 482 | 836 | 2283 | 8461 |
Munq 3.1.6 | 108 | 143 | 502 | 1862 |
Ninject 3.2.0.0 | 8970 | 20314 | 47355 | 130156 |
Petite 0.3.2 | 5584 | 4980 | 5612 | 6129 |
SimpleInjector 2.5.0 | 85 | 109 | 123 | 169 |
Spring.NET 1.3.2 | 1063 | 16794 | 44736 | 114565 |
StructureMap 2.6.4.1 | 1694 | 2010 | 5970 | 20531 |
StyleMVVM 3.1.5 | 535 | 574 | 854 | 1696 |
TinyIoC 1.2 | 400 | 2555 | 10215 | 45779 |
Unity 3.0.1304.1 | 3321 | 5171 | 21068 | 53036 |
Windsor 3.2.1 | 508 | 2603 | 8161 | 23208 |
Advanced Features
Container | Property | Generics | IEnumerable | Conditional | Child Container | Interception |
---|---|---|---|---|---|---|
No | 124 | 98 | 266 | 86 | 690 | 79 |
Autofac 3.3.1 | 34668 | 4882 | 17360 | 110250 | 45333 | |
Caliburn.Micro 1.5.2 | 9670 | 7156 | ||||
Catel 3.9.0 | 12697 | 4384 | ||||
DryIoc 1.2.0 | 131 | 69 | 354 | 66 | ||
Dynamo 3.0.2.0 | 913 | |||||
fFastInjector 0.8.1 | ||||||
Funq 1.0.0.0 | 1211 | |||||
Grace 2.2.1 | 1863 | 503 | 2790 | 670 | 12960 | 8102 |
Griffin 1.1.1 | ||||||
HaveBox 2.0.0 | 1025 | 2177 | 883 | |||
Hiro 1.0.4.41795 | 3013 | |||||
IfInjector 0.8.1 | 422 | 167 | ||||
LightCore 1.5.1 | 2474 | 25055 | 52115 | |||
LightInject 3.0.1.6 | 115 | 87 | 355 | 65 | 1568 | |
LinFu 2.3.0.41559 | ||||||
Maestro 1.3.1 | 9301 | 2779 | 8024 | 2355 | 28248100 | 9538 |
Mef 4.0.0.0 | 165820 | 186915 | 117780 | |||
Mef2 1.0.20.0 | 1474 | 312 | 1657 | |||
MicroSliver 2.1.6.0 | ||||||
Mugen 3.5.1 | 14046 | 70232 | 6643 | 1805 | 676980 | 17034 |
Munq 3.1.6 | 1648 | |||||
Ninject 3.2.0.0 | 114510 | 51063 | 102846 | 73357 | 19831100 | 31037 |
Petite 0.3.2 | 6995 | |||||
SimpleInjector 2.5.0 | 227 | 109 | 853 | 228 | 630 | 13380 |
Spring.NET 1.3.2 | 104652 | 75437 | ||||
StructureMap 2.6.4.1 | 21215 | 6881 | 21949 | 775100 | 11402 | |
StyleMVVM 3.1.5 | 1792 | 2914 | 3828 | 2830 | ||
TinyIoC 1.2 | 4346 | 16900 | ||||
Unity 3.0.1304.1 | 53142 | 74087 | 46320 | 133957 | ||
Windsor 3.2.1 | 47378 | 4330 | 22863 | 317550 | 22180 |