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)
.
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.
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 |
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 |
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 |
The benchmark was executed on the following machine:
CPU: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
Memory: 31.95GB