Skip to content

Delpak/IocPerformance

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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 61
53
68
62
83
103
90
82
abioc 0.6.0 27
37
31
57
48
84
63
72
Autofac 4.6.1 781
616
715
556
1933
1947
6248
6452
Caliburn.Micro 1.5.2 465
270
533
322
1583
906
7403
3712
Catel 5.1.0 325
342
4252
4634
9636
10392
22053
23370
DryIoc 2.12.2 37
42
37
61
57
87
72
77
Dynamo 3.0.2 95
70
104
86
207
158
685
381
fFastInjector 1.0.1 66
66
126
99
249
171
602
350
Funq 1.0.0.0 118
90
137
110
381
251
1124
616
Grace 6.3.0 27
41
36
63
51
79
64
78
Griffin 1.1.4 280
182
304
203
657
431
1888
1114
HaveBox 2.0.0 40
48
51
62
65
88
103
95
IfInjector 0.8.1 75
60
128
97
145
124
197
135
LightCore 1.5.1 184
189
2191
1301
26718
31570
151128*
188142*
LightInject 5.1.0 27
42
38
59
51
84
69
76
LinFu 2.3.0.41559 3167
1709
16506
11878
45492
29568
116514*
76757*
Maestro 1.5.4 356
254
1755
2906
2437
1743
4342
2528
Mef 4.0.0.0 22679
11820
37640
25052
57462
68730*
112712*
131716*
Mef2 1.0.32.0 309
217
267
174
363
241
693
411
MicroResolver 2.3.5 25
39
34
59
55
77
92
89
MicroSliver 2.1.6 192
232
742
619
2394
1786
7159
6162
Microsoft Extensions DependencyInjection 2.0.0 198
223
112
92
301
319
1121
1176
Mugen 3.5.1 484
444
711
751
2285
2494
8297
9494
Munq 3.1.6 90
75
161
107
517
417
1812
1050
Ninject 3.3.0 2673
1831
8121
6143
23986
16122
69556*
50795
Rezolver 1.2.7050.900 135
104
176
135
227
177
367
238
SimpleInjector 4.0.11 58
53
87
80
104
105
139
109
Spring.NET 2.0.1 950
987
9711
11447
26941
23873
74745*
57777
Stashbox 2.5.4 35
42
46
58
57
80
75
78
StructureMap 4.5.2 1183
656
1306
800
3471
2036
8933
5270
Unity 4.0.1 2517
1375
3761
1962
10161
5372
27963
16013
Windsor 4.0.0 516
405
1967
1164
5812
3392
17496
9639

Advanced Features

Container Property Generics IEnumerable Conditional Child Container Asp Net Core Interception With Proxy
No 119
99
73
79
177
139
78
69
606
361

72
65
abioc 0.6.0

741
506




Autofac 4.6.1 6235
6537
2006
1794
7577
5477
1365
1413
53762
31770
14338
11871
22996
12849
Caliburn.Micro 1.5.2 9157
4733

5965
3393




Catel 5.1.0
9844
10177




4313
4553
DryIoc 2.12.2 95
103
50
78
281
203
62
68


869
536
Dynamo 3.0.2 828
455






fFastInjector 1.0.1






Funq 1.0.0.0 1090
639






Grace 6.3.0 83
96
49
68
269
198
54
64
48837
29309
511
421
906
618
Griffin 1.1.4






HaveBox 2.0.0 741
443

1860
1198



774
509
IfInjector 0.8.1 345
227
147
120





LightCore 1.5.1 2289
1755
15862
14477
34754
20480




LightInject 5.1.0 95
97
49
79
280
196
337
216

2116
1740
1567
976
LinFu 2.3.0.41559






Maestro 1.5.4 4502
2616
2103
2128
4443
2483
2186
1691


7591
4418
Mef 4.0.0.0 124500*
133833*
137086*
114221*
97231*
100896*




Mef2 1.0.32.0 1408
819
309
213
1425
811




MicroResolver 2.3.5 39
62

262
195




MicroSliver 2.1.6






Microsoft Extensions DependencyInjection 2.0.0
125
108
402
265


1931
1614

Mugen 3.5.1 10005
8348
72189*
72787*
5619
7027
1824
1883
550418*
335171*

13742
16268
Munq 3.1.6 1536
847






Ninject 3.3.0 65550*
46762
26218
15685
68614*
47648
17653
14828
71116000*
48813008*

19275
14064
Rezolver 1.2.7050.900 500
317
218
161
588
364

3143050*
1677185*
10298
7844

SimpleInjector 4.0.11 212
159
101
87
785
474
86
76


7580
4207
Spring.NET 2.0.1 52419
51992





43647
43419
Stashbox 2.5.4 93
95
57
76
289
203
63
72
171702*
98831*
654
493
857
552
StructureMap 4.5.2 8781
5165
2605
1520
9131
4919

3355666*
1794884*
44899
27751
7820
4270
Unity 4.0.1 29064
16150

43685
23347

33727
19896

93122*
49665
Windsor 4.0.0 34788
19114
14730
8383
16344
9298

233653*
127558*

13738
7473

Prepare

Container Prepare And Register Prepare And Register And Simple Resolve
No 2
3
abioc 0.6.0 5739
5992
Autofac 4.6.1 284
313
Caliburn.Micro 1.5.2 55
56
Catel 5.1.0 9115
9925
DryIoc 2.12.2 56
227
Dynamo 3.0.2 16240
16527
fFastInjector 1.0.1 6390
6336
Funq 1.0.0.0 8
8
Grace 6.3.0 153
869
Griffin 1.1.4 8442
7933
HaveBox 2.0.0 54925
55463
IfInjector 0.8.1 1397
2016
LightCore 1.5.1 226
204
LightInject 5.1.0 175
748
LinFu 2.3.0.41559 107
338
Maestro 1.5.4 172
747
Mef 4.0.0.0 17
2299
Mef2 1.0.32.0 5684
6729
MicroResolver 2.3.5 27322
67518
MicroSliver 2.1.6 12
17
Microsoft Extensions DependencyInjection 2.0.0 21
29
Mugen 3.5.1 424
1820
Munq 3.1.6 9079
9500
Ninject 3.3.0 121596*
94278*
Rezolver 1.2.7050.900 221
3286
SimpleInjector 4.0.11 661
3199
Spring.NET 2.0.1 25014
24884
Stashbox 2.5.4 71
522
StructureMap 4.5.2 1447
7360
Unity 4.0.1 588
2209
Windsor 4.0.0 2985
3137

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

About

Performance comparison of .NET IoC containers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%