Skip to content

Instantly share code, notes, and snippets.

@neuecc
Last active July 10, 2017 09:31
Show Gist options
  • Save neuecc/edc9daa035f3878d0eb0a31d9f76ed24 to your computer and use it in GitHub Desktop.
Save neuecc/edc9daa035f3878d0eb0a31d9f76ed24 to your computer and use it in GitHub Desktop.
IocPerformance

Note

This is modified edition of [IoCPerformance] https://github.com/neuecc/IocPerformance/tree/Resolve_T
It uses T Resolve<T> instead of object Resolve(Type type).

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 53
50
58
51
71
73
87
67
abioc 0.6.0 46
47
67
55
72
66
86
65
Autofac 4.6.0 562
477
545
488
1408
1252
4726
4350
Caliburn.Micro 1.5.2 326
183
406
220
1093
592
4753
2469
Catel 4.5.4 256
318
3106
3317
7420
7801
17323
18044
DryIoc 2.10.4 49
37
47
47
62
60
69
57
DryIocZero 2.7.0 101
73
84
71
105
85
281
173
Dynamo 3.0.2.0 89
68
95
71
179
115
472
280
fFastInjector 1.0.1 21
27
61
52
145
108
373
223
Funq 1.0.0.0 105
68
108
77
267
183
739
414
Grace 6.2.1 43
38
46
46
55
60
71
57
Griffin 1.1.4 231
140
243
150
514
293
1434
750
HaveBox 2.0.0 59
51
62
58
71
71
103
78
IfInjector 0.8.1 74
52
109
86
120
98
155
106
LightCore 1.5.1 177
138
1741
949
19239
23567
109298*
133589*
LightInject 5.0.3 43
44
51
47
67
66
75
55
LinFu 2.3.0.41559 2190
1128
11447
7149
29782
17821
77724*
44525
Maestro 1.5.4 267
179
1564
2183
1941
1854
3304
2029
Mef 4.0.0.0 3347
2254
9580
10949
24182
28101
65243*
71897*
Mef2 1.0.30.0 187
119
199
133
274
159
447
266
MicroResolver 2.0.0 26
33
31
39
50
55
72
63
MicroSliver 2.1.6.0 157
173
555
360
1716
1186
4899
4111
Microsoft Extensions DependencyInjection 1.1.1 146
180
125
99
288
282
877
930
Mugen 3.5.1 362
359
524
623
1534
1856
5729
7030
Munq 3.1.6 114
65
133
95
390
235
1166
650
Ninject 3.2.2.0 3978
2444
12567
7963
34620
19315
95859*
60936*
Petite 0.3.2 101
67
110
84
290
178
879
473
Rezolver 1.2.7050.900 130
88
144
105
213
140
287
172
SimpleInjector 4.0.8 58
44
82
59
93
76
109
80
Stashbox 2.5.2 57
53
58
53
77
63
85
70
StructureMap 4.5.0 753
414
941
570
2413
1375
5819
3149
StyleMVVM 3.1.5 341
192
364
217
543
321
993
594
TinyIoC 1.3 318
324
1241
776
5073
3688
20880
14612
Unity 4.0.1 1992
1042
2745
1523
7161
3843
19892
10586

Advanced Features

Container Property Generics IEnumerable Conditional Child Container Asp Net Core Interception With Proxy
No 97
75
65
54
136
93
66
58
498
277

61
56
abioc 0.6.0

617
350




Autofac 4.6.0 4516
4376
1420
1156
5278
3730
992
915
35055
19297
9792
7552
15273
8140
Caliburn.Micro 1.5.2 6134
3192

4275
2258




Catel 4.5.4
7599
8139




3137
3387
DryIoc 2.10.4 86
75
49
59
267
133
59
50


586
350
DryIocZero 2.7.0 361
189

242
151
66
54



Dynamo 3.0.2.0 589
340






fFastInjector 1.0.1






Funq 1.0.0.0 757
425






Grace 6.2.1 83
69
50
52
228
131
60
51
33671
17620
353
252
596
365
Griffin 1.1.4






HaveBox 2.0.0 661
355

1249
671



557
326
IfInjector 0.8.1 259
170
119
93





LightCore 1.5.1 1618
1212
11493
11454
25988
17794




LightInject 5.0.3 103
70
50
53
241
146
265
161

1523
1068
961
534
LinFu 2.3.0.41559






Maestro 1.5.4 3539
2202
1781
1936
3931
2327
2156
1986


6143
3432
Mef 4.0.0.0 66489*
73901*
69955*
74570*
46905
53507




Mef2 1.0.30.0 910
498
215
143
983
534




MicroResolver 2.0.0 91
69

212
126




MicroSliver 2.1.6.0






Microsoft Extensions DependencyInjection 1.1.1
154
111
573
323


1219
1130

Mugen 3.5.1 7276
6511
48802
49636
3976
5326
1188
1403
428609*
264771*

12317
14977
Munq 3.1.6 1092
597






Ninject 3.2.2.0 86898*
54792
33950
20787
73057*
49779
24873
17208
53261500*
33874859*

18714
12550
Petite 0.3.2 864
508






Rezolver 1.2.7050.900 397
222
163
118
425
242

2289444*
1275790*
7543
5286

SimpleInjector 4.0.8 162
111
90
77
560
348
86
67


4795
2745
Stashbox 2.5.2 98
80
61
61
219
136
69
58
147230*
82421*
491
331
640
368
StructureMap 4.5.0 5849
3194
1659
960
6031
3238

2306370*
1270538*
31285
16982
5689
3136
StyleMVVM 3.1.5 1162
685
867
499
2247
1145
1019
562



TinyIoC 1.3 3249
3287



9400
5273


Unity 4.0.1 19491
10347

30996
16378

22699
12781

63734*
33280

Prepare

Container Prepare And Register Prepare And Register And Simple Resolve
No 1
3
abioc 0.6.0 3978
3811
Autofac 4.6.0 196
240
Caliburn.Micro 1.5.2 35
38
Catel 4.5.4 33425
33677
DryIoc 2.10.4 52
207
DryIocZero 2.7.0 0
0
Dynamo 3.0.2.0 12520
12816
fFastInjector 1.0.1 5474
5499
Funq 1.0.0.0 7
5
Grace 6.2.1 96
666
Griffin 1.1.4 6709
6725
HaveBox 2.0.0 38422
39664
IfInjector 0.8.1 1002
1455
LightCore 1.5.1 123
135
LightInject 5.0.3 123
591
LinFu 2.3.0.41559 68
258
Maestro 1.5.4 122
579
Mef 4.0.0.0 8
1385
Mef2 1.0.30.0 3972
5061
MicroResolver 2.0.0 20312
49934
MicroSliver 2.1.6.0 10
11
Microsoft Extensions DependencyInjection 1.1.1 16
24
Mugen 3.5.1 335
1344
Munq 3.1.6 7710
7728
Ninject 3.2.2.0 100822*
96670*
Petite 0.3.2 18
17
Rezolver 1.2.7050.900 153
2600
SimpleInjector 4.0.8 488
2410
Stashbox 2.5.2 46
400
StructureMap 4.5.0 1013
5280
StyleMVVM 3.1.5 52749
53095
TinyIoC 1.3 42
52
Unity 4.0.1 436
1576

Machine

The benchmark was executed on the following machine:
CPU: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
Memory: 31.95GB

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment