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
First value: Time of single-threaded execution in [ms]
Second value: Time of multi-threaded execution in [ms]
*: Benchmark was stopped after 3 minutes and result is extrapolated.
OoM: Benchmark was stopped after an OutOfMemoryException was thrown.
Error: Benchmark was stopped after an Exception was thrown.
| Container | Singleton | Transient | Combined | Complex |
|---|---|---|---|---|
| No | 108 78 | 126 116 | 147 168 | 222 206 |
| Autofac 3.5.2 | 893 723 | 2568 2571 | 6407 4071 | 18191 11244 |
| Caliburn.Micro 1.5.2 | 538 353 | 670 405 | 1867 1085 | 7969 4632 |
| Catel 4.0.0 | 339 408 | 5262 6654 | 13926 16622 | 36149 39037 |
| DryIoc 1.4.1 | 31 48 | 42 57 | 56 83 | 92 81 |
| Dynamo 3.0.2.0 | 105 80 | 134 103 | 234 162 | 823 493 |
| fFastInjector 0.8.1 | 105 81 | 143 120 | 194 143 | 295 203 |
| Funq 1.0.0.0 | 149 111 | 181 132 | 451 338 | 1327 852 |
| Grace 2.4.2 | 188 127 | 303 294 | 907 926 | 2061 1291 |
| Griffin 1.1.2 | 374 231 | 377 243 | 971 573 | 2813 1548 |
| HaveBox 2.0.0 | 91 76 | 110 95 | 122 87 | 222 194 |
| Hiro 1.0.4.41795 | 207 140 | 209 146 | 219 154 | 290 199 |
| IfInjector 0.8.1 | 108 86 | 144 115 | 180 142 | 233 166 |
| LightCore 1.5.1 | 203 171 | 3364 1998 | 34315 34496 | 193101* 205435* |
| LightInject 3.0.2.0 | 34 44 | 46 61 | 69 76 | 88 84 |
| LinFu 2.3.0.41559 | 4163 2443 | 24399 16041 | 64412 41898 | 170694 104578 |
| Maestro 1.5.0 | 993 631 | 1046 685 | 1718 917 | 4534 3592 |
| Mef 4.0.0.0 | 34967 19746 | 53521 31946 | 87598 65396 | 175864 169289 |
| Mef2 1.0.27.0 | 295 201 | 290 204 | 379 439 | 633 403 |
| MicroSliver 2.1.6.0 | 566 303 | 818 543 | 2901 1802 | 8322 8170 |
| Mugen 3.5.1 | 459 359 | 810 582 | 2380 1666 | 9042 6674 |
| Munq 3.1.6 | 111 79 | 283 192 | 751 454 | 2389 1482 |
| Ninject 3.2.2.0 | 7259 4486 | 24276 15296 | 69214 39610 | 191033* 117563 |
| Petite 0.3.2 | 6626 4071 | 5546 3373 | 6971 4657 | 8246 6118 |
| QuickInject 1.0.0.12 | 180 173 | 198 169 | 295 259 | 671 637 |
| SimpleInjector 2.6.1 | 63 68 | 99 84 | 121 105 | 171 129 |
| Spring.NET 1.3.2 | 1046 808 | 16566 10128 | 45510 29798 | 117230 75645 |
| StructureMap 3.1.4.143 | 2531 2831 | 2787 2845 | 8181 8274 | 19198 20205 |
| StyleMVVM 3.1.5 | 656 454 | 543 383 | 833 527 | 2170 2363 |
| TinyIoC 1.2 | 421 323 | 2705 1698 | 13719 6623 | 44567 28659 |
| Unity 3.5.1404.0 | 2873 3812 | 7182 3038 | 15294 8012 | 39116 21296 |
| Windsor 3.3.0 | 519 383 | 2626 3658 | 8893 4861 | 26098 16700 |
| Container | Property | Generics | IEnumerable | Conditional | Child Container | Interception With Proxy |
|---|---|---|---|---|---|---|
| No | 348 176 | 107 106 | 275 177 | 214 180 | 1899 524 | 88 106 |
| Autofac 3.5.2 | 32706 20892 | 5158 3346 | 17288 12199 | 108964 86101 | 51505 37712 | |
| Caliburn.Micro 1.5.2 | 10427 6064 | 7758 4514 | ||||
| Catel 4.0.0 | 16803 26672 | 9122 5947 | ||||
| DryIoc 1.4.1 | 97 87 | 64 70 | 318 225 | 68 69 | ||
| Dynamo 3.0.2.0 | 855 519 | |||||
| fFastInjector 0.8.1 | ||||||
| Funq 1.0.0.0 | 1299 789 | |||||
| Grace 2.4.2 | 2828 1589 | 707 467 | 2601 1645 | 805 536 | 17498 10605 | 8723 5580 |
| Griffin 1.1.2 | ||||||
| HaveBox 2.0.0 | 1119 697 | 2252 1373 | 868 538 | |||
| Hiro 1.0.4.41795 | 3104 1931 | |||||
| IfInjector 0.8.1 | 385 269 | 170 131 | ||||
| LightCore 1.5.1 | 2487 1843 | 23120 15653 | 52456 31250 | |||
| LightInject 3.0.2.0 | 92 84 | 63 72 | 360 249 | 69 71 | 1825 1345 | |
| LinFu 2.3.0.41559 | ||||||
| Maestro 1.5.0 | 9514 2744 | 1036 655 | 5297 2919 | 1306 801 | 11811 6419 | |
| Mef 4.0.0.0 | 180329* 178984 | 198621* 151746 | 137126 140873 | |||
| Mef2 1.0.27.0 | 1383 887 | 313 228 | 2587 2518 | |||
| MicroSliver 2.1.6.0 | ||||||
| Mugen 3.5.1 | 11883 7521 | 71914 76734 | 6944 7444 | 2060 1369 | 706941* OoM | 5051527* Error |
| Munq 3.1.6 | 1899 1169 | |||||
| Ninject 3.2.2.0 | 165177 106569 | 67347 42019 | 151450 96672 | 53576 31926 | 45724250* 37677615* | 36162 22413 |
| Petite 0.3.2 | 6297 3789 | |||||
| QuickInject 1.0.0.12 | 204 182 | 1280234* 919692* | ||||
| SimpleInjector 2.6.1 | 268 194 | 102 91 | 1214 597 | 222 169 | 8573 5065 | |
| Spring.NET 1.3.2 | 103584 66296 | 77502 43561 | ||||
| StructureMap 3.1.4.143 | 18987 19486 | 5485 8342 | 17175 18164 | 3921913* 2703535* | 18162 12085 | |
| StyleMVVM 3.1.5 | 2391 1093 | 1407 881 | 3703 4850 | 1598 965 | ||
| TinyIoC 1.2 | 5275 5538 | 17576 11517 | ||||
| Unity 3.5.1404.0 | 40234 21537 | 65395 41530 | 53041 31885 | 128682 82599 | ||
| Windsor 3.3.0 | 52083 32659 | 27157 17004 | 26641 13537 | 340330* Error | 21772 13042 |

