Home

Awesome

Ioc Performance

Build Status

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

ContainerSingletonTransientCombinedComplex
No41<br/>4949<br/>5969<br/>7699<br/>103
abioc 0.8.026<br/>4333<br/>5651<br/>8267<br/>78
Autofac 7.0.11010<br/>590969<br/>6593118<br/>19178470<br/>5543
Caliburn.Micro 1.5.2465<br/>270533<br/>3221583<br/>9067403<br/>3712
Catel 5.12.22250<br/>2963979<br/>43148954<br/>987625104<br/>23025
DryIoc 4.8.563<br/>5473<br/>7389<br/>100110<br/>101
DryIocZero 4.0.0110<br/>9688<br/>8998<br/>105220<br/>169
Dynamo 3.0.295<br/>70104<br/>86207<br/>158685<br/>381
Faster.Ioc 1.0.025<br/>4672<br/>6267<br/>82139<br/>93
Grace 7.2.120<br/>3139<br/>5552<br/>8473<br/>83
Lamar 8.0.161<br/>6386<br/>83117<br/>110130<br/>127
LightInject 6.6.451<br/>5262<br/>59113<br/>102230<br/>195
Maestro 3.6.6386<br/>269342<br/>241580<br/>4381411<br/>1097
Mef 4.0.0.022679<br/>1182037640<br/>2505257462<br/>68730*112712*<br/>131716*
Mef2 7.0.0.0298<br/>235327<br/>176327<br/>248621<br/>410
MicroResolver 2.3.525<br/>3934<br/>5955<br/>7792<br/>89
Microsoft Extensions DependencyInjection 7.0.068<br/>5896<br/>79110<br/>106131<br/>112
Microsoft.VisualStudio.Composition 17.6.1710905<br/>1250233562<br/>2170466196*<br/>2560560406*<br/>55918
Mugen MVVM Toolkit 6.5.0102<br/>138409<br/>7152052<br/>25909348<br/>11352
MvvmCross 8.0.2205<br/>2511318<br/>14023316<br/>37268677<br/>9516
Ninject 3.3.63809<br/>458313588<br/>1198637822<br/>28199105486*<br/>79549*
Pure.DI 2.0.029<br/>3340<br/>6261<br/>88105<br/>104
Rezolver 2.1.0121<br/>100137<br/>126194<br/>171328<br/>238
SimpleInjector 5.4.187<br/>6771<br/>91152<br/>129233<br/>179
Singularity 0.18.024<br/>3939<br/>5966<br/>8276<br/>84
Spring.NET 3.0.2565<br/>4513022<br/>16499816<br/>687028453<br/>21414
Stashbox 5.11.040<br/>4757<br/>6978<br/>94127<br/>111
StructureMap 4.7.11121<br/>7171281<br/>8563410<br/>21668312<br/>6052
Unity 5.11.10216<br/>1481443<br/>8353326<br/>19959503<br/>4739
Windsor 6.0.0549<br/>5332065<br/>11686572<br/>594820046<br/>18318
ZenIoc 1.0.1306<br/>198267<br/>188674<br/>4401809<br/>1103
Zenject 8.0.0479<br/>4481370<br/>10703689<br/>306511142<br/>10106

Advanced Features

ContainerPropertyGenericsIEnumerableConditionalChild ContainerAsp Net CoreInterception With Proxy
No186<br/>13470<br/>75193<br/>17653<br/>63644<br/>596<br/>469<br/>438
abioc 0.8.0<br/><br/>799<br/>506<br/><br/><br/><br/>
Autofac 7.0.19031<br/>54682319<br/>133011000<br/>63392085<br/>142374767*<br/>5799344266<br/>3734624279<br/>13732
Caliburn.Micro 1.5.29157<br/>4733<br/>5965<br/>3393<br/><br/><br/><br/>
Catel 5.12.22<br/>8872<br/>9710<br/><br/><br/><br/>3937<br/>4257
DryIoc 4.8.5144<br/>13186<br/>88294<br/>21981<br/>79<br/>1379<br/>1005835<br/>555
DryIocZero 4.0.0294<br/>20592<br/>92302<br/>229380<br/>270<br/><br/><br/>
Dynamo 3.0.2828<br/>455<br/><br/><br/><br/><br/><br/>
Faster.Ioc 1.0.0<br/>95<br/>87388<br/>287107<br/>66<br/>797<br/>635<br/>
Grace 7.2.1101<br/>11250<br/>80257<br/>21045<br/>7050375<br/>32231657<br/>674827<br/>571
Lamar 8.0.1133<br/>98106<br/>108634<br/>432<br/><br/>4753<br/>4323<br/>
LightInject 6.6.4259<br/>14253<br/>69309<br/>280494<br/>273<br/>2098<br/>17111921<br/>1005
Maestro 3.6.63886<br/>2438419<br/>3181272<br/>843<br/><br/>10764<br/>85606757<br/>3630
Mef 4.0.0.0124500*<br/>133833*137086*<br/>114221*97231*<br/>100896*<br/><br/><br/><br/>
Mef2 7.0.0.01337<br/>921273<br/>1951851<br/>813<br/><br/><br/><br/>
MicroResolver 2.3.539<br/>62<br/>262<br/>195<br/><br/><br/><br/>
Microsoft Extensions DependencyInjection 7.0.0<br/>117<br/>94363<br/>242<br/><br/>4263<br/>2412<br/>
Microsoft.VisualStudio.Composition 17.6.1747046<br/>34542<br/>45837<br/>38733<br/><br/><br/><br/>
Mugen MVVM Toolkit 6.5.0436<br/>705<br/>9749<br/>7094<br/>4370<br/>3103<br/><br/>
MvvmCross 8.0.21310<br/>14156576<br/>7299<br/><br/>4968<br/>3230<br/><br/>
Ninject 3.3.678292*<br/>60394*28241<br/>2024992792*<br/>68004*24794<br/>1831178784000*<br/>45766768*<br/>22231<br/>19065
Pure.DI 2.0.075<br/>6386<br/>78328<br/>27285<br/>71<br/><br/>249<br/>192
Rezolver 2.1.0520<br/>385183<br/>145669<br/>408<br/>9589857*<br/>5697265*86587*<br/>56374<br/>
SimpleInjector 5.4.1366<br/>20499<br/>103755<br/>73885<br/>83<br/><br/>5503<br/>4220
Singularity 0.18.0<br/>54<br/>80241<br/>193<br/><br/>631<br/>652<br/>
Spring.NET 3.0.221087<br/>16280<br/><br/><br/><br/><br/>21268<br/>15259
Stashbox 5.11.0148<br/>181108<br/>97542<br/>50974<br/>83871072*<br/>663243*2098<br/>1280917<br/>643
StructureMap 4.7.18697<br/>52842271<br/>14608399<br/>5170<br/>3215578*<br/>1887211*65269*<br/>417257859<br/>4464
Unity 5.11.109045<br/>58149842<br/>644317755<br/>120483547<br/>2046147355*<br/>74313*61350*<br/>3900956226<br/>31096
Windsor 6.0.038349<br/>3206216588<br/>1202117909<br/>14575<br/>252113*<br/>175868*<br/>16722<br/>11052
ZenIoc 1.0.1264<br/>195276<br/>209704<br/>488314<br/>222602490*<br/>471765*<br/><br/>
Zenject 8.0.015829<br/>131359021<br/>651317932<br/>126873082<br/>242822250<br/>18595<br/><br/>

Prepare

ContainerPrepare And RegisterPrepare And Register And Simple Resolve
No2<br/>2<br/>
abioc 0.8.06327<br/>6556<br/>
Autofac 7.0.1359<br/>367<br/>
Caliburn.Micro 1.5.255<br/>56<br/>
Catel 5.12.2211925<br/>9956<br/>
DryIoc 4.8.556<br/>64<br/>
DryIocZero 4.0.00<br/>1<br/>
Dynamo 3.0.216240<br/>16527<br/>
Faster.Ioc 1.0.051<br/>1283<br/>
Grace 7.2.1157<br/>966<br/>
Lamar 8.0.12516<br/>3044<br/>
LightInject 6.6.4127<br/>2146<br/>
Maestro 3.6.6128<br/>144<br/>
Mef 4.0.0.017<br/>2299<br/>
Mef2 7.0.0.06114<br/>6957<br/>
MicroResolver 2.3.527322<br/>67518<br/>
Microsoft Extensions DependencyInjection 7.0.022<br/>35<br/>
Microsoft.VisualStudio.Composition 17.6.179311<br/>11123<br/>
Mugen MVVM Toolkit 6.5.015<br/>19<br/>
MvvmCross 8.0.210<br/>16<br/>
Ninject 3.3.6134240*<br/>112279*<br/>
Pure.DI 2.0.00<br/><br/>
Rezolver 2.1.020835<br/>27706<br/>
SimpleInjector 5.4.1825<br/>3214<br/>
Singularity 0.18.0314<br/>874<br/>
Spring.NET 3.0.215929<br/>17596<br/>
Stashbox 5.11.0202<br/>1113<br/>
StructureMap 4.7.11325<br/>7389<br/>
Unity 5.11.10122<br/>287<br/>
Windsor 6.0.03927<br/>2927<br/>
ZenIoc 1.0.177<br/>964<br/>
Zenject 8.0.0199<br/>201<br/>

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