Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

README.md

Ioc Performance

Build Status

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

Explantions

First value: Time of single-threaded execution in [ms]
Second value: Time of multi-threaded execution in [ms]
*: Benchmark was stopped after 1 minute and result is extrapolated.

Basic Features

Container Singleton Transient Combined Complex
No 41
49
49
59
69
76
99
103
abioc 0.8.0 26
43
33
56
51
82
67
78
Autofac 4.9.4 593
389
754
504
1953
1191
5877
3609
Caliburn.Micro 1.5.2 465
270
533
322
1583
906
7403
3712
Catel 5.12.6 437
403
5340
5392
10959
14834
32267
33134
DryIoc 4.2.1 59
72
74
87
110
125
119
119
DryIocZero 4.0.0 110
96
88
89
98
105
220
169
Dynamo 3.0.2 95
70
104
86
207
158
685
381
Grace 7.1.1 32
50
67
75
67
95
81
97
Lamar 3.1.0 58
68
70
103
99
121
119
138
LightInject 6.3.4 33
77
62
67
66
86
77
94
Maestro 3.6.2 365
254
302
211
540
390
1493
979
Mef 4.0.0.0 22679
11820
37640
25052
57462
68730*
112712*
131716*
Mef2 1.0.35.0 244
192
272
195
392
302
775
478
MicroResolver 2.3.5 25
39
34
59
55
77
92
89
Microsoft Extensions DependencyInjection 3.1.5 123
120
146
125
169
146
178
160
Microsoft.VisualStudio.Composition 16.4.11 9074
4916
13891
9399
19760
14962
57910
51972
Mugen MVVM Toolkit 6.5.0 102
138
409
715
2052
2590
9348
11352
MvvmCross 6.4.2 298
373
1913
2023
5057
5345
14603
13824
Ninject 3.3.4 3473
2563
8686
6969
23529
17635
63579*
49285
Rezolver 2.1.0 121
100
137
126
194
171
328
238
SimpleInjector 5.0.1 90
104
175
144
148
138
176
166
Singularity 0.14.0 24
45
38
61
50
88
65
82
SmartDi 1.4.1 193
144
348
233
615
374
2344
1410
Spring.NET 2.0.1 950
987
9711
11447
26941
23873
74745*
57777
Stashbox 3.1.2 37
67
64
84
91
112
126
139
StructureMap 4.7.1 1121
717
1281
856
3410
2166
8312
6052
Unity 5.11.7 304
293
2100
1609
5599
5024
12654
6870
Windsor 5.0.1 454
342
1796
1092
5618
3523
16853
10289
Zenject 8.0.0 479
448
1370
1070
3689
3065
11142
10106

Advanced Features

Container Property Generics IEnumerable Conditional Child Container Asp Net Core Interception With Proxy
No 186
134
70
75
193
176
53
63
644
596

469
438
abioc 0.8.0

799
506




Autofac 4.9.4 6070
3626
2243
1377
7838
4615
1445
901
84497*
53089
35800
21902
22852
14654
Caliburn.Micro 1.5.2 9157
4733

5965
3393




Catel 5.12.6
13894
13840




6178
6095
DryIoc 4.2.1 185
156
97
101
497
312
99
97

2405
1666
1231
805
DryIocZero 4.0.0 294
205
92
92
302
229
380
270



Dynamo 3.0.2 828
455






Grace 7.1.1 143
128
68
92
348
269
56
77
75197*
43091
945
714
1289
767
Lamar 3.1.0 74
89
86
127
555
410


1623
1581

LightInject 6.3.4 125
124
59
82
309
293
391
291

2619
1761
1604
1070
Maestro 3.6.2 3200
2005
385
286
1303
837


8309
5461
5776
3311
Mef 4.0.0.0 124500*
133833*
137086*
114221*
97231*
100896*




Mef2 1.0.35.0 1571
1031
317
236
1509
987




MicroResolver 2.3.5 39
62

262
195




Microsoft Extensions DependencyInjection 3.1.5
155
142
452
339


4586
2612

Microsoft.VisualStudio.Composition 16.4.11 44285
31830

42023
35658




Mugen MVVM Toolkit 6.5.0 436
705

9749
7094

4370
3103


MvvmCross 6.4.2 1978
2260
13465
12799


8062
5573


Ninject 3.3.4 62765*
47908
24256
15895
64193*
49074
19294
12954
73303000*
50234113*

20215
15029
Rezolver 2.1.0 520
385
183
145
669
408

9589857*
5697265*
86587*
56374

SimpleInjector 5.0.1 347
250
121
120
948
665
124
109


8357
4889
Singularity 0.14.0
49
75
292
220


507
555

SmartDi 1.4.1 246
181
275
203
675
447
273
191
574619*
411964*


Spring.NET 2.0.1 52419
51992





43647
43419
Stashbox 3.1.2 216
158
95
108
392
287
73
99
316554*
239829*
2063
2277
1802
927
StructureMap 4.7.1 8697
5284
2271
1460
8399
5170

3215578*
1887211*
65269*
41725
7859
4464
Unity 5.11.7 11602
6706
13703
8365
22157
13621
4356
2695
181682*
111712*
88358*
56587
79466*
43384
Windsor 5.0.1 34532
19632
15140
9111
15426
9609

226334*
120937*

13105
7493
Zenject 8.0.0 15829
13135
9021
6513
17932
12687
3082
2428
22250
18595


Prepare

Container Prepare And Register Prepare And Register And Simple Resolve
No 2
2
abioc 0.8.0 6327
6556
Autofac 4.9.4 361
410
Caliburn.Micro 1.5.2 55
56
Catel 5.12.6 15615
16801
DryIoc 4.2.1 81
89
DryIocZero 4.0.0 0
1
Dynamo 3.0.2 16240
16527
Grace 7.1.1 266
1062
Lamar 3.1.0 1986
2373
LightInject 6.3.4 112
775
Maestro 3.6.2 141
148
Mef 4.0.0.0 17
2299
Mef2 1.0.35.0 5847
7644
MicroResolver 2.3.5 27322
67518
Microsoft Extensions DependencyInjection 3.1.5 27
44
Microsoft.VisualStudio.Composition 16.4.11 7904
8540
Mugen MVVM Toolkit 6.5.0 15
19
MvvmCross 6.4.2 14
21
Ninject 3.3.4 130706*
126470*
Rezolver 2.1.0 20835
27706
SimpleInjector 5.0.1 989
5191
Singularity 0.14.0 27
443
SmartDi 1.4.1 69
843
Spring.NET 2.0.1 25014
24884
Stashbox 3.1.2 77
801
StructureMap 4.7.1 1325
7389
Unity 5.11.7 121
341
Windsor 5.0.1 2912
2934
Zenject 8.0.0 199
201

Charts

Basic features Advanced features Prepare

Machine

The benchmark was executed on the following machine:
CPU: Intel(R) Core(TM) i5-6260U CPU @ 1.80GHz
Memory: 15,89GB

You can’t perform that action at this time.