# IocPerformance **Repository Path**: paulrao/IocPerformance ## Basic Information - **Project Name**: IocPerformance - **Description**: Performance comparison of .NET IoC containers - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 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](http://www.palmmedia.de/Blog/2011/8/30/ioc-container-benchmark-performance-comparison) Author: Daniel Palme Blog: [www.palmmedia.de](http://www.palmmedia.de) Twitter: [@danielpalme](http://twitter.com/danielpalme) Results ------- ### Explantions **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. ### Basic Features |**Container**|**Singleton**|**Transient**|**Combined**|**Complex**| |:------------|------------:|------------:|-----------:|----------:| |**No**|108
78|126
116|147
168|222
206| |**[Autofac 3.5.2](https://github.com/autofac/Autofac)**|893
723|2568
2571|6407
4071|18191
11244| |**[Caliburn.Micro 1.5.2](https://github.com/Caliburn-Micro/Caliburn.Micro)**|538
353|670
405|1867
1085|7969
4632| |**[Catel 4.4.0](http://www.catelproject.com)**|326
371|5088
5360|13304
14009|30210
32487| |**[DryIoc 2.3.0](https://bitbucket.org/dadhi/dryioc)**|**31**
**42**|**47**
**58**|**61**
84|**94**
**89**| |**[DryIocZero 2.1.0](https://bitbucket.org/dadhi/dryioc)**|78
72|82
81|85
82|203
150| |**[Dynamo 3.0.2.0](http://martinf.github.io/Dynamo.IoC)**|105
80|134
103|234
162|823
493| |**[fFastInjector 1.0.1](https://ffastinjector.codeplex.com)**|75
68|134
112|280
204|680
428| |**[Funq 1.0.0.0](https://funq.codeplex.com)**|149
111|181
132|451
338|1327
852| |**[Grace 2.4.2](https://github.com/ipjohnson/Grace)**|188
127|303
294|907
926|2061
1291| |**[Griffin 1.1.2](https://github.com/jgauffin/griffin.container)**|374
231|377
243|971
573|2813
1548| |**[HaveBox 2.0.0](https://bitbucket.org/Have/havebox)**|91
76|110
95|122
87|222
194| |**[IfInjector 0.8.1](https://github.com/iamahern/IfInjector)**|108
86|144
115|180
142|233
166| |**[LightCore 1.5.1](http://www.lightcore.ch)**|203
171|3364
1998|34315
34496|193101*
205435*| |**[LightInject 4.0.9](https://github.com/seesharper/LightInject)**|53
52|63
74|76
**80**|110
96| |**[LinFu 2.3.0.41559](https://github.com/philiplaureano/LinFu)**|4163
2443|24399
16041|64412
41898|170694
104578| |**[Maestro 1.5.4](https://github.com/JonasSamuelsson/Maestro)**|333
259|397
306|1115
728|3512
2556| |**[Mef 4.0.0.0](https://mef.codeplex.com)**|34967
19746|53521
31946|87598
65396|175864
169289| |**[Mef2 1.0.30.0](https://blogs.msdn.com/b/bclteam/p/composition.aspx)**|252
179|263
187|328
250|559
481| |**[MicroSliver 2.1.6.0](https://microsliver.codeplex.com)**|566
303|818
543|2901
1802|8322
8170| |**[Microsoft.Framework.DependencyInjection 1.0.0-beta8](https://github.com/aspnet/DependencyInjection)**|193
256|148
124|317
292|908
993| |**[Mugen 3.5.1](http://mugeninjection.codeplex.com)**|459
359|810
582|2380
1666|9042
6674| |**[Munq 3.1.6](http://munq.codeplex.com)**|111
79|283
192|751
454|2389
1482| |**[Ninject 3.2.2.0](http://ninject.org)**|7259
4486|24276
15296|69214
39610|191033*
117563| |**[Petite 0.3.2](https://github.com/andlju/Petite)**|6626
4071|5546
3373|6971
4657|8246
6118| |**[SimpleInjector 3.1.3](https://simpleinjector.org)**|62
61|98
78|112
92|157
123| |**[Spring.NET 2.0.1](http://www.springframework.net/)**|997
752|13890
9012|39235
33605|119975
82439| |**[Stashbox 1.0.104.0](https://github.com/z4kn4fein/stashbox)**|122
98|183
146|231
180|286
205| |**[StructureMap 4.1.3.394](http://structuremap.net/structuremap)**|1288
1130|1392
965|4368
2797|11512
7115| |**[StyleMVVM 3.1.5](https://stylemvvm.codeplex.com)**|656
454|543
383|833
527|2170
2363| |**[TinyIoC 1.3](https://github.com/grumpydev/TinyIoC)**|454
468|2123
1548|8825
6132|35707
26670| |**[Unity 4.0.1](http://msdn.microsoft.com/unity)**|2846
1872|4571
2754|11527
7661|35292
23766| |**[Windsor 3.3.0](http://castleproject.org)**|519
383|2626
3658|8893
4861|26098
16700| ### Advanced Features |**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](https://github.com/autofac/Autofac)**|32706
20892|5158
3346|17288
12199|
|108964
86101|51505
37712| |**[Caliburn.Micro 1.5.2](https://github.com/Caliburn-Micro/Caliburn.Micro)**|10427
6064|
|7758
4514|
|
|
| |**[Catel 4.4.0](http://www.catelproject.com)**|
|12718
13475|
|
|
|5002
5392| |**[DryIoc 2.3.0](https://bitbucket.org/dadhi/dryioc)**|118
**102**|**67**
**74**|**340**
**239**|**76**
78|
|928
588| |**[DryIocZero 2.1.0](https://bitbucket.org/dadhi/dryioc)**|217
158|
|403
319|77
**73**|
|
| |**[Dynamo 3.0.2.0](http://martinf.github.io/Dynamo.IoC)**|855
519|
|
|
|
|
| |**[fFastInjector 1.0.1](https://ffastinjector.codeplex.com)**|
|
|
|
|
|
| |**[Funq 1.0.0.0](https://funq.codeplex.com)**|1299
789|
|
|
|
|
| |**[Grace 2.4.2](https://github.com/ipjohnson/Grace)**|2828
1589|707
467|2601
1645|805
536|17498
10605|8723
5580| |**[Griffin 1.1.2](https://github.com/jgauffin/griffin.container)**|
|
|
|
|
|
| |**[HaveBox 2.0.0](https://bitbucket.org/Have/havebox)**|1119
697|
|2252
1373|
|
|**868**
**538**| |**[IfInjector 0.8.1](https://github.com/iamahern/IfInjector)**|385
269|170
131|
|
|
|
| |**[LightCore 1.5.1](http://www.lightcore.ch)**|2487
1843|23120
15653|52456
31250|
|
|
| |**[LightInject 4.0.9](https://github.com/seesharper/LightInject)**|**112**
104|76
77|**340**
243|600
375|
|1576
1030| |**[LinFu 2.3.0.41559](https://github.com/philiplaureano/LinFu)**|
|
|
|
|
|
| |**[Maestro 1.5.4](https://github.com/JonasSamuelsson/Maestro)**|3866
2367|783
534|3901
2707|1070
693|
|8955
5331| |**[Mef 4.0.0.0](https://mef.codeplex.com)**|180329*
178984|198621*
151746|137126
140873|
|
|
| |**[Mef2 1.0.30.0](https://blogs.msdn.com/b/bclteam/p/composition.aspx)**|1388
1099|347
241|1759
1379|
|
|
| |**[MicroSliver 2.1.6.0](https://microsliver.codeplex.com)**|
|
|
|
|
|
| |**[Microsoft.Framework.DependencyInjection 1.0.0-beta8](https://github.com/aspnet/DependencyInjection)**|
|217
169|817
552|
|
|
| |**[Mugen 3.5.1](http://mugeninjection.codeplex.com)**|11883
7521|71914
76734|6944
7444|2060
1369|706941*
OoM|5051527*
Error| |**[Munq 3.1.6](http://munq.codeplex.com)**|1899
1169|
|
|
|
|
| |**[Ninject 3.2.2.0](http://ninject.org)**|165177
106569|67347
42019|151450
96672|53576
31926|45724250*
37677615*|36162
22413| |**[Petite 0.3.2](https://github.com/andlju/Petite)**|6297
3789|
|
|
|
|
| |**[SimpleInjector 3.1.3](https://simpleinjector.org)**|222
162|105
96|825
523|102
90|
|1131
846| |**[Spring.NET 2.0.1](http://www.springframework.net/)**|91587
63045|
|
|
|
|72303
69545| |**[Stashbox 1.0.104.0](https://github.com/z4kn4fein/stashbox)**|442
313|221
177|591
392|224
168|**9818**
**6584**|
| |**[StructureMap 4.1.3.394](http://structuremap.net/structuremap)**|14110
7933|2856
4567|10568
5785|
|4562575*
2940266*|16163
8494| |**[StyleMVVM 3.1.5](https://stylemvvm.codeplex.com)**|2391
1093|1407
881|3703
4850|1598
965|
|
| |**[TinyIoC 1.3](https://github.com/grumpydev/TinyIoC)**|5062
4660|
|
|
|15411
9844|
| |**[Unity 4.0.1](http://msdn.microsoft.com/unity)**|42874
29680|
|72235
50134|
|60679
38214|157119
110328| |**[Windsor 3.3.0](http://castleproject.org)**|52083
32659|27157
17004|26641
13537|
|340330*
Error|21772
13042| ### Prepare |**Container**|**Prepare And Register**|**Prepare And Register And Simple Resolve**| |:------------|-----------------------:|------------------------------------------:| |**No**|4
|4
| |**[Autofac 3.5.2](https://github.com/autofac/Autofac)**|487
|643
| |**[Caliburn.Micro 1.5.2](https://github.com/Caliburn-Micro/Caliburn.Micro)**|63
|70
| |**[Catel 4.4.0](http://www.catelproject.com)**|17067
|17340
| |**[DryIoc 2.3.0](https://bitbucket.org/dadhi/dryioc)**|80
|597
| |**[DryIocZero 2.1.0](https://bitbucket.org/dadhi/dryioc)**|**0**
|**0**
| |**[Dynamo 3.0.2.0](http://martinf.github.io/Dynamo.IoC)**|19090
|18509
| |**[fFastInjector 1.0.1](https://ffastinjector.codeplex.com)**|9324
|8177
| |**[Funq 1.0.0.0](https://funq.codeplex.com)**|12
|Error
| |**[Grace 2.4.2](https://github.com/ipjohnson/Grace)**|122304
|123571
| |**[Griffin 1.1.2](https://github.com/jgauffin/griffin.container)**|12609
|12089
| |**[HaveBox 2.0.0](https://bitbucket.org/Have/havebox)**|81766
|83181
| |**[IfInjector 0.8.1](https://github.com/iamahern/IfInjector)**|2101
|2795
| |**[LightCore 1.5.1](http://www.lightcore.ch)**|233
|247
| |**[LightInject 4.0.9](https://github.com/seesharper/LightInject)**|167
|855
| |**[LinFu 2.3.0.41559](https://github.com/philiplaureano/LinFu)**|140
|538
| |**[Maestro 1.5.4](https://github.com/JonasSamuelsson/Maestro)**|232
|952
| |**[Mef 4.0.0.0](https://mef.codeplex.com)**|23
|3054
| |**[Mef2 1.0.30.0](https://blogs.msdn.com/b/bclteam/p/composition.aspx)**|7330
|11858
| |**[MicroSliver 2.1.6.0](https://microsliver.codeplex.com)**|18
|23
| |**[Microsoft.Framework.DependencyInjection 1.0.0-beta8](https://github.com/aspnet/DependencyInjection)**|31
|40
| |**[Mugen 3.5.1](http://mugeninjection.codeplex.com)**|559
|2378
| |**[Munq 3.1.6](http://munq.codeplex.com)**|12084
|12117
| |**[Ninject 3.2.2.0](http://ninject.org)**|115051
|157982
| |**[Petite 0.3.2](https://github.com/andlju/Petite)**|25
|49
| |**[SimpleInjector 3.1.3](https://simpleinjector.org)**|596
|1697
| |**[Spring.NET 2.0.1](http://www.springframework.net/)**|40443
|34294
| |**[Stashbox 1.0.104.0](https://github.com/z4kn4fein/stashbox)**|1332
|2227
| |**[StructureMap 4.1.3.394](http://structuremap.net/structuremap)**|2095
|10863
| |**[StyleMVVM 3.1.5](https://stylemvvm.codeplex.com)**|91820
|85792
| |**[TinyIoC 1.3](https://github.com/grumpydev/TinyIoC)**|185
|224
| |**[Unity 4.0.1](http://msdn.microsoft.com/unity)**|957
|3174
| |**[Windsor 3.3.0](http://castleproject.org)**|4141
|4463
| ### Charts ![Basic features](http://www.palmmedia.de/content/blogimages/5225c515-2f25-498f-84fe-6c6e931d2042.png) ![Advanced features](http://www.palmmedia.de/content/blogimages/e0401485-20c6-462e-b5d4-c9cf854e6bee.png) ![Prepare](http://www.palmmedia.de/content/blogimages/67b056a5-9da8-40b4-9ae6-0c838cdac180.png) ### Machine The benchmark was executed on the following machine: **CPU**: Intel(R) Core(TM) i7 CPU M 620 @ 2.67GHz **Memory**: 7,86GB