Giter VIP home page Giter VIP logo

iocperformance's Introduction

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 3 minutes and result is extrapolated.

Basic Features

Container Singleton Transient Combined Complex
No 58
54
65
68
89
99
96
80
Autofac 4.3.0 783
581
1021
745
2774
2279
8702
8342
Caliburn.Micro 1.5.2 470
281
552
343
1669
927
7434
4084
Catel 4.5.4 379
410
4316
5117
11198
11641
24795
27404
DryIoc 2.10.0 28
39
38
73
51
81
69
74
DryIocZero 2.7.0 138
79
83
81
109
117
376
295
Dynamo 3.0.2.0 97
72
100
84
211
152
635
368
fFastInjector 1.0.1 63
71
132
103
290
205
654
402
Funq 1.0.0.0 122
92
143
111
396
258
1066
631
Grace 5.0.0 26
37
36
60
52
79
68
75
Griffin 1.1.2 301
192
305
210
707
435
2004
1525
HaveBox 2.0.0 41
51
47
60
66
97
106
90
IfInjector 0.8.1 74
81
121
101
154
129
206
146
LightCore 1.5.1 184
196
2478
1349
25106
30593
160556
207181*
LightInject 5.0.0 41
45
56
60
75
81
90
100
LinFu 2.3.0.41559 3794
2406
19975
14511
51402
35572
122377
75771
Maestro 1.5.4 337
253
374
278
1094
643
3104
1747
Mef 4.0.0.0 22424
12124
35595
25034
59216
67576
118099
146429
Mef2 1.0.30.0 240
208
250
209
345
292
613
443
MicroSliver 2.1.6.0 215
271
881
776
2690
2317
8213
7327
Microsoft Extensions DependencyInjection 1.1.0 182
217
168
139
398
446
1352
1582
Mugen 3.5.1 498
563
822
968
2255
2745
7666
9388
Munq 3.1.6 119
98
161
148
669
467
1992
1319
Ninject 3.2.2.0 5224
3437
16579
11961
46445
30800
136712
85362
Petite 0.3.2 4118
2690
4161
2763
4477
2584
4966
2670
SimpleInjector 3.3.2 63
80
120
86
150
121
151
132
Spring.NET 2.0.1 976
978
10185
11925
27810
24892
73589
58129
Stashbox 1.0.160 140
111
211
163
244
195
323
222
StructureMap 4.4.2 1290
950
1312
833
3708
2292
8881
5411
StyleMVVM 3.1.5 437
266
485
303
721
451
1513
864
TinyIoC 1.3 455
467
1576
1051
7081
5117
29000
20842
Unity 4.0.1 2531
1406
3857
2088
10225
5657
28572
16225
Windsor 3.3.0 475
327
1855
1062
6026
3346
18122
9722

Advanced Features

Container Property Generics IEnumerable Conditional Child Container Interception With Proxy
No 115
98
71
69
177
135
71
63
613
367
70
63
Autofac 4.3.0 23077
14580
1959
1569
9530
6270

49515
30042
22142
11724
Caliburn.Micro 1.5.2 9578
5126

6207
3466



Catel 4.5.4
10712
11508



4433
4715
DryIoc 2.10.0 89
102
50
78
314
254
46
76

877
570
DryIocZero 2.7.0 439
285

311
221
47
60


Dynamo 3.0.2.0 786
464





fFastInjector 1.0.1





Funq 1.0.0.0 1153
641





Grace 5.0.0 86
94
47
80
281
198
42
67
44020
26894
5146
2864
Griffin 1.1.2





HaveBox 2.0.0 815
447

1784
993


720
417
IfInjector 0.8.1 391
252
146
127




LightCore 1.5.1 2490
2259
17591
17980
40054
31362



LightInject 5.0.0 105
146
88
78
369
329
659
472

1538
871
LinFu 2.3.0.41559





Maestro 1.5.4 3403
1863
714
480
3150
1763
930
586

5763
3138
Mef 4.0.0.0 124601
138121
147178
139065
104933
130921



Mef2 1.0.30.0 1313
1022
315
248
1617
1116



MicroSliver 2.1.6.0





Microsoft Extensions DependencyInjection 1.1.0
236
213
942
527



Mugen 3.5.1 10420
9159
71665
79952
6639
8367
1841
2230
580141*
542910*
20313
24812
Munq 3.1.6 1683
1155





Ninject 3.2.2.0 126340
94262
51421
34619
116662
86730
39381
28760
75048000*
53320497*
27366
21004
Petite 0.3.2 6076
3382





SimpleInjector 3.3.2 295
160
89
88
805
463
72
79

7113
3998
Spring.NET 2.0.1 56159
53415




53353
55179
Stashbox 1.0.160 455
302
240
195
558
357
236
184
438717*
237376*

StructureMap 4.4.2 9927
5526
2475
1489
7564
4405

3340111*
1802940*
7888
4710
StyleMVVM 3.1.5 1713
979
1269
699
3082
1725
1329
743


TinyIoC 1.3 4712
4934



12401
7236

Unity 4.0.1 29090
17028

45898
23941

34469
21442
93685
49400
Windsor 3.3.0 34678
18895
14956
7996
16662
9241

225855*
Error
13791
7336

Prepare

Container Prepare And Register Prepare And Register And Simple Resolve
No 2
3
Autofac 4.3.0 303
316
Caliburn.Micro 1.5.2 53
59
Catel 4.5.4 8804
8968
DryIoc 2.10.0 97
243
DryIocZero 2.7.0 0
1
Dynamo 3.0.2.0 14896
15395
fFastInjector 1.0.1 6142
6037
Funq 1.0.0.0 7
8
Grace 5.0.0 159
774
Griffin 1.1.2 7545
8020
HaveBox 2.0.0 54181
54777
IfInjector 0.8.1 1509
2001
LightCore 1.5.1 228
230
LightInject 5.0.0 145
653
LinFu 2.3.0.41559 99
337
Maestro 1.5.4 173
677
Mef 4.0.0.0 14
2320
Mef2 1.0.30.0 6024
7467
MicroSliver 2.1.6.0 11
16
Microsoft Extensions DependencyInjection 1.1.0 25
32
Mugen 3.5.1 508
2066
Munq 3.1.6 9945
9547
Ninject 3.2.2.0 142265
139074
Petite 0.3.2 37
47
SimpleInjector 3.3.2 377
2935
Spring.NET 2.0.1 27593
27718
Stashbox 1.0.160 1762
2372
StructureMap 4.4.2 1375
7375
StyleMVVM 3.1.5 71837
78801
TinyIoC 1.3 58
71
Unity 4.0.1 638
2254
Windsor 3.3.0 3027
3141

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

iocperformance's People

Contributors

danielpalme avatar ipjohnson avatar iamahern avatar dotnetjunkie avatar seesharper avatar dadhi avatar z4kn4fein avatar christianhenrikreich avatar alexandrnikitin avatar pgatilov avatar bartizan avatar geertvanhorrik avatar jonassamuelsson avatar mdeangelo272 avatar wade avatar alexmg avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.