GithubHelp home page GithubHelp logo

endjin / iocperformance Goto Github PK

View Code? Open in Web Editor NEW

This project forked from danielpalme/iocperformance

1.0 4.0 0.0 37.66 MB

Performance comparison of .NET IoC containers

License: Apache License 2.0

C# 100.00%

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.
OoM: Benchmark was stopped after an OutOfMemoryException was thrown.
Error: Benchmark was stopped after an Exception was thrown.

Basic Features

Container Singleton Transient Combined Complex
No 108
78
126
116
147
168
222
206
Autofac 3.5.2 893
723
2568
2571
6407
4071
18191
11244
Caliburn.Micro 1.5.2 538
353
670
405
1867
1085
7969
4632
Catel 4.4.0 326
371
5088
5360
13304
14009
30210
32487
DryIoc 2.1.0 32
48
53
61
85
77
113
100
DryIocZero 2.0.1 80
72
78
71
87
83
198
147
Dynamo 3.0.2.0 105
80
134
103
234
162
823
493
fFastInjector 1.0.1 75
68
134
112
280
204
680
428
Funq 1.0.0.0 149
111
181
132
451
338
1327
852
Grace 2.4.2 188
127
303
294
907
926
2061
1291
Griffin 1.1.2 374
231
377
243
971
573
2813
1548
HaveBox 2.0.0 91
76
110
95
122
87
222
194
IfInjector 0.8.1 108
86
144
115
180
142
233
166
LightCore 1.5.1 203
171
3364
1998
34315
34496
193101*
205435*
LightInject 4.0.2 59
51
59
67
80
80
436
294
LinFu 2.3.0.41559 4163
2443
24399
16041
64412
41898
170694
104578
Maestro 1.5.4 333
259
397
306
1115
728
3512
2556
Mef 4.0.0.0 34967
19746
53521
31946
87598
65396
175864
169289
Mef2 1.0.30.0 252
179
263
187
328
250
559
481
MicroSliver 2.1.6.0 566
303
818
543
2901
1802
8322
8170
Microsoft.Framework.DependencyInjection 1.0.0-beta8 193
256
148
124
317
292
908
993
Mugen 3.5.1 459
359
810
582
2380
1666
9042
6674
Munq 3.1.6 111
79
283
192
751
454
2389
1482
Ninject 3.2.2.0 7259
4486
24276
15296
69214
39610
191033*
117563
Petite 0.3.2 6626
4071
5546
3373
6971
4657
8246
6118
SimpleInjector 3.1.2 70
71
91
87
112
105
162
127
Spring.NET 2.0.1 997
752
13890
9012
39235
33605
119975
82439
StructureMap 4.0.1.318 1362
1108
1481
993
4111
2966
10179
6587
StyleMVVM 3.1.5 656
454
543
383
833
527
2170
2363
TinyIoC 1.3 454
468
2123
1548
8825
6132
35707
26670
Unity 4.0.1 2846
1872
4571
2754
11527
7661
35292
23766
Windsor 3.3.0 519
383
2626
3658
8893
4861
26098
16700

Advanced Features

Container Property Generics IEnumerable Conditional Child Container Interception With Proxy
No 348
176
107
106
275
177
214
180
1899
524
88
106
Autofac 3.5.2 32706
20892
5158
3346
17288
12199

108964
86101
51505
37712
Caliburn.Micro 1.5.2 10427
6064

7758
4514



Catel 4.4.0
12718
13475



5002
5392
DryIoc 2.1.0 121
105
88
88
338
241
89
78

987
653
DryIocZero 2.0.1 223
164

361
259
80
73


Dynamo 3.0.2.0 855
519





fFastInjector 1.0.1





Funq 1.0.0.0 1299
789





Grace 2.4.2 2828
1589
707
467
2601
1645
805
536
17498
10605
8723
5580
Griffin 1.1.2





HaveBox 2.0.0 1119
697

2252
1373


868
538
IfInjector 0.8.1 385
269
170
131




LightCore 1.5.1 2487
1843
23120
15653
52456
31250



LightInject 4.0.2 1024
682
76
79
354
248
608
401

1545
997
LinFu 2.3.0.41559





Maestro 1.5.4 3866
2367
783
534
3901
2707
1070
693

8955
5331
Mef 4.0.0.0 180329*
178984
198621*
151746
137126
140873



Mef2 1.0.30.0 1388
1099
347
241
1759
1379



MicroSliver 2.1.6.0





Microsoft.Framework.DependencyInjection 1.0.0-beta8
217
169
817
552



Mugen 3.5.1 11883
7521
71914
76734
6944
7444
2060
1369
706941*
OoM
5051527*
Error
Munq 3.1.6 1899
1169





Ninject 3.2.2.0 165177
106569
67347
42019
151450
96672
53576
31926
45724250*
37677615*
36162
22413
Petite 0.3.2 6297
3789





SimpleInjector 3.1.2 229
179
105
96
887
574
106
89

7324
4790
Spring.NET 2.0.1 91587
63045




72303
69545
StructureMap 4.0.1.318 11749
8869
4424
3278
9464
6072

4830447*
3255723*
20939
6987
StyleMVVM 3.1.5 2391
1093
1407
881
3703
4850
1598
965


TinyIoC 1.3 5062
4660



15411
9844

Unity 4.0.1 42874
29680

72235
50134

60679
38214
157119
110328
Windsor 3.3.0 52083
32659
27157
17004
26641
13537

340330*
Error
21772
13042

Prepare

Container Prepare And Register Prepare And Register And Simple Resolve
No 4
4
Autofac 3.5.2 487
643
Caliburn.Micro 1.5.2 63
70
Catel 4.4.0 17067
17340
DryIoc 2.1.0 76
590
DryIocZero 2.0.1 0
1
Dynamo 3.0.2.0 19090
18509
fFastInjector 1.0.1 9324
8177
Funq 1.0.0.0 12
Error
Grace 2.4.2 122304
123571
Griffin 1.1.2 12609
12089
HaveBox 2.0.0 81766
83181
IfInjector 0.8.1 2101
2795
LightCore 1.5.1 233
247
LightInject 4.0.2 174
851
LinFu 2.3.0.41559 140
538
Maestro 1.5.4 232
952
Mef 4.0.0.0 23
3054
Mef2 1.0.30.0 7330
11858
MicroSliver 2.1.6.0 18
23
Microsoft.Framework.DependencyInjection 1.0.0-beta8 31
40
Mugen 3.5.1 559
2378
Munq 3.1.6 12084
12117
Ninject 3.2.2.0 115051
157982
Petite 0.3.2 25
49
SimpleInjector 3.1.2 515
1636
Spring.NET 2.0.1 40443
34294
StructureMap 4.0.1.318 4188
10939
StyleMVVM 3.1.5 91820
85792
TinyIoC 1.3 185
224
Unity 4.0.1 957
3174
Windsor 3.3.0 4141
4463

Charts

Basic features Advanced features Prepare

iocperformance's People

Contributors

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

Stargazers

Ralph Willgoss avatar

Watchers

Howard van Rooijen avatar Matthew Adams avatar James Cloos avatar  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.