# 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



### Machine
The benchmark was executed on the following machine:
**CPU**: Intel(R) Core(TM) i7 CPU M 620 @ 2.67GHz
**Memory**: 7,86GB