Dependency Injection Benchmarks
Comprehensive benchmarks for .net dependency injection containers.
Container | Env | Enumerable (ns) | LargeObject (ns) | Singleton (ns) | SmallObject (ns) | Array (ns) | IEnumerable (ns) | ImmutableCollection (ns) | IReadOnlyList (ns) | List (ns) | NoArgFactory (ns) | OneArgFactory (ns) | ThreeArgFactory (ns) | NoArgFunc (ns) | OneArgFunc (ns) | ThreeArgFunc (ns) | Lazy (ns) | SingletonPerAncestor (ns) | SingletonPerObjectGraph (ns) | SingletonPerScope (ns) | Lookup 0 (ns) | Lookup 100 (ns) | Lookup 2000 (ns) | Lookup 50 (ns) | Lookup 500 (ns) | Metadata (ns) | StronglyTypedMetadata (ns) | Registration 10 ResolveAll (ns) | Registration 10 ResolveHalf (ns) | Registration 10 ResolveNone (ns) | Registration 10 ResolveOne (ns) | Registration 100 ResolveAll (ns) | Registration 100 ResolveHalf (ns) | Registration 100 ResolveNone (ns) | Registration 100 ResolveOne (ns) | Registration 500 ResolveAll (ns) | Registration 500 ResolveHalf (ns) | Registration 500 ResolveNone (ns) | Registration 500 ResolveOne (ns) | CreateScopeAndResolve (ns) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Autofac | Clr | 12790.2 | 4859.3 | 365.5 | 1434.8 | 11459.3 | 11489.8 | 16286.4 | 1589.2 | 2085.6 | 1844.9 | 1704.7 | 2682.2 | 3155.1 | 1465.0 | 1453.8 | 1533.4 | 1474.6 | 1558.3 | 1823.0 | 1843.5 | 80640.3 | 62366.3 | 46985.5 | 51315.3 | 749594.4 | 596654.2 | 450303.7 | 453511.0 | 6953578.1 | 5983953.2 | 5059664.8 | 5076022.4 | 2070.6 | ||||||
Grace | Clr | 212.4 | 49.5 | 12.1 | 21.5 | 268.5 | 290.1 | 527.3 | 452.5 | 294.6 | 42.6 | 30.8 | 33.5 | 68.5 | 183.7 | 449.9 | 284.0 | 248.1 | 239.1 | 196.0 | 22.5 | 24.3 | 26.1 | 21.4 | 25.8 | 32.9 | 32.9 | 792175.2 | 407273.6 | 20185.9 | 100147.6 | 7746165.9 | 3919022.5 | 125525.3 | 210662.0 | 39563916.4 | 20240710.6 | 681009.6 | 788116.6 | 77.6 |
DryIoc | Clr | 220.6 | 54.9 | 18.3 | 26.5 | 270.2 | 316.7 | 294.1 | 51.2 | 69.0 | 152.8 | 63.4 | 72.0 | 39.8 | 2015.2 | 289.4 | 25.6 | 26.9 | 32.9 | 26.1 | 28.7 | 671754.9 | 336437.3 | 7040.3 | 72817.4 | 6727536.0 | 3440539.3 | 81361.0 | 156157.2 | 33915990.9 | 17149227.0 | 464582.1 | 591676.2 | 114.9 | ||||||
Castle Windsor | Clr | 42130.8 | 24409.6 | 273.6 | 6648.0 | 5717.3 | 7948.2 | 6741.3 | 24738.5 | 14701.5 | 15659.9 | 15180.2 | 6126.8 | 6229.9 | 6014.8 | 6119.5 | 6245.1 | 9353.0 | ||||||||||||||||||||||
StructureMap | Clr | 8769.3 | 2685.1 | 553.9 | 1801.0 | 8408.6 | 7707.5 | 7345.1 | 1666.2 | 2800.3 | 2436.1 | 5699.2 | 2561.3 | 21897.3 | 1772.8 | 1839.7 | 1680.8 | 1707.7 | 1642.0 | 17275229.6 | 8838837.3 | 438965.1 | 2133976.7 | 176032273.2 | 90248524.5 | 4762976.0 | 6268562.3 | 905940917.3 | 475930797.6 | 37653097.0 | 39957957.8 | 19076.6 | ||||||||
LightInject | Clr | 216.0 | 56.3 | 15.3 | 25.5 | 269.1 | 287.9 | 470.1 | 91.7 | 60.1 | 174.6 | 702.4 | 25.2 | 25.8 | 24.4 | 24.4 | 24.4 | 741055.2 | 379413.5 | 19878.8 | 93073.1 | 7364867.8 | 3788226.2 | 182171.2 | 258421.9 | 40746113.5 | 19853152.7 | 1291033.6 | 1418152.4 | 278.2 | ||||||||||
Microsoft Dependency Injection | Clr | 351.4 | 344.3 | 100.5 | 140.3 | 425.0 | 165.5 | 227.9 | 267.1 | 518.9 | 133.6 | 134.9 | 133.5 | 133.2 | 134.1 | 11898.1 | 6743.7 | 2563.4 | 3624.7 | 221634.6 | 118677.0 | 19360.5 | 20569.1 | 1306455.9 | 631134.2 | 94676.7 | 98121.8 | 343.1 | ||||||||||||
Simple Injector | Clr | 164.0 | 116.1 | 28.9 | 56.4 | 853.5 | 137.1 | 161.1 | 72.9 | 175.2 | 52.0 | 53.9 | 53.3 | 54.3 | 53.4 | 1310225.4 | 752840.2 | 129812.9 | 285835.0 | 12547877.3 | 6791825.0 | 992465.0 | 1155860.8 | 68991937.1 | 35698051.3 | 5293417.0 | 5579675.1 | |||||||||||||
NInject | Clr | 87825.4 | 40301.1 | 735.6 | 11315.9 | 11703.9 | 12860.5 | 11583.6 | 11748.4 | 11939.0 | 1479582.1 | 901114.0 | 276958.3 | 411066.3 | 12098341.5 | 6568920.0 | 890298.3 | 1059901.5 | 65714235.4 | 37548185.4 | 9186963.5 | 9370822.0 | ||||||||||||||||||
Autofac | Core | 17312.0 | 5974.5 | 525.1 | 1935.7 | 14632.6 | 15160.6 | 19284.3 | 1861.0 | 2518.2 | 2451.6 | 2228.5 | 3393.4 | 3929.8 | 1798.8 | 1835.0 | 1725.6 | 1730.4 | 1833.0 | 2111.2 | 2118.7 | 102831.3 | 87935.4 | 65176.5 | 74581.7 | 962596.0 | 793111.3 | 625697.0 | 607510.1 | 7638437.7 | 6791579.8 | 5925915.0 | 5885735.5 | 2529.4 | ||||||
Grace | Core | 194.2 | 49.0 | 12.4 | 21.9 | 197.4 | 213.2 | 723.9 | 353.8 | 237.0 | 44.6 | 31.6 | 34.2 | 62.6 | 196.4 | 466.6 | 212.6 | 230.3 | 215.1 | 218.6 | 21.5 | 21.4 | 29.7 | 21.5 | 26.9 | 35.6 | 34.9 | 801376.8 | 412396.2 | 20590.8 | 101209.9 | 7918322.0 | 4005782.5 | 138433.5 | 217254.7 | 38510739.5 | 19598275.7 | 737894.7 | 820961.8 | 88.5 |
DryIoc | Core | 196.0 | 54.4 | 16.2 | 29.0 | 246.6 | 203.9 | 208.9 | 53.1 | 70.9 | 146.0 | 945.3 | 1882.7 | 1163.6 | 1830.8 | 1949.4 | 26.5 | 28.5 | 34.2 | 26.0 | 26.3 | 872177.2 | 439869.3 | 9613.3 | 94491.2 | 8802666.1 | 4453794.2 | 106541.9 | 195661.4 | 42946160.7 | 21643314.1 | 623701.1 | 688856.6 | 121.3 | ||||||
Castle Windsor | Core | 69340.2 | 37115.0 | 312.2 | 9888.7 | 9841.9 | 13004.9 | 9780.0 | 34577.4 | 21806.2 | 21869.8 | 23673.5 | 9913.3 | 10054.3 | 10564.4 | 9842.7 | 9907.2 | 13488.5 | ||||||||||||||||||||||
StructureMap | Core | 10549.4 | 3442.7 | 622.5 | 2093.7 | 8762.3 | 8555.4 | 10239.2 | 2070.4 | 2949.9 | 3003.4 | 6053.4 | 3015.7 | 25222.9 | 2098.3 | 2099.9 | 2075.7 | 1917.0 | 2056.5 | 15851588.5 | 8137959.8 | 439356.4 | 1994207.7 | 160655830.5 | 82746457.5 | 4564778.1 | 5966243.5 | 821478117.2 | 430217865.5 | 36589384.6 | 38518021.0 | 21332.1 | ||||||||
LightInject | Core | 195.6 | 54.2 | 14.8 | 25.7 | 251.6 | 207.1 | 379.9 | 49.9 | 80.6 | 195.2 | 848.4 | 26.9 | 26.3 | 25.5 | 24.7 | 25.0 | 748808.0 | 384193.6 | 18005.8 | 92274.8 | 7460546.0 | 3810637.0 | 176371.5 | 268928.8 | 37491822.0 | 19197151.0 | 1105758.3 | 1155264.8 | 284.9 | ||||||||||
Microsoft Dependency Injection | Core | 223.8 | 269.7 | 100.7 | 117.8 | 229.0 | 145.3 | 204.4 | 255.1 | 611.3 | 117.9 | 117.0 | 128.0 | 115.6 | 117.9 | 16749.0 | 8757.9 | 2740.5 | 4492.3 | 317057.7 | 168999.7 | 19964.1 | 21975.7 | 1826290.3 | 918442.5 | 96126.0 | 100772.1 | 324.4 | ||||||||||||
Simple Injector | Core | 134.4 | 71.6 | 29.8 | 39.6 | 720.0 | 116.9 | 127.2 | 63.0 | 196.8 | 39.7 | 42.9 | 44.0 | 41.2 | 40.0 | 1087234.5 | 612280.7 | 118436.7 | 225958.3 | 11244188.8 | 6161785.2 | 1235155.0 | 1309311.8 | 62215618.6 | 33088585.3 | 6763023.5 | 7132528.1 | |||||||||||||
NInject | Core | 103499.6 | 53588.1 | 1130.8 | 14830.9 | 15024.6 | 15356.7 | 14903.9 | 15595.5 | 16185.6 | 1060950.3 | 620265.8 | 152988.3 | 255005.8 | 9539486.1 | 5154438.2 | 698476.1 | 823109.4 | 49961438.4 | 28754215.6 | 6988224.0 | 7107432.4 |
Details
BenchmarkDotNet=v0.10.8, OS=Windows 10 Redstone 2 (10.0.15063)
Processor=Intel Core i7-3770 CPU 3.40GHz (Ivy Bridge), ProcessorCount=4
Frequency=3320336 Hz, Resolution=301.1743 ns, Timer=TSC
[Host] : Clr 4.0.30319.42000, 64bit RyuJIT-v4.7.2101.1
Clr : Clr 4.0.30319.42000, 64bit RyuJIT-v4.7.2101.1
Core : .NET Core 4.6.25211.01, 64bit RyuJIT