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)
AutofacClr12790.24859.3365.51434.811459.311489.8 16286.4 1589.22085.61844.91704.7  2682.2  3155.11465.01453.81533.41474.61558.31823.01843.580640.362366.346985.551315.3749594.4596654.2450303.7453511.06953578.15983953.25059664.85076022.42070.6
GraceClr212.449.512.121.5268.5290.1527.3452.5294.642.630.833.568.5183.7449.9284.0248.1239.1196.022.524.326.121.425.832.932.9792175.2407273.620185.9100147.67746165.93919022.5125525.3210662.039563916.420240710.6681009.6788116.677.6
DryIocClr220.654.918.326.5270.2316.7 294.1 51.269.0152.863.472.039.82015.2  289.425.626.932.926.128.7  671754.9336437.37040.372817.46727536.03440539.381361.0156157.233915990.917149227.0464582.1591676.2114.9
Castle WindsorClr42130.824409.6273.66648.0     5717.37948.26741.3   24738.514701.515659.915180.26126.86229.96014.86119.56245.1              9353.0
StructureMapClr8769.32685.1553.91801.08408.67707.5  7345.11666.22800.32436.1   5699.2 2561.321897.31772.81839.71680.81707.71642.0  17275229.68838837.3438965.12133976.7176032273.290248524.54762976.06268562.3905940917.3475930797.637653097.039957957.819076.6
LightInjectClr216.056.315.325.5269.1287.9 470.1 91.7  60.1  174.6  702.425.225.824.424.424.4  741055.2379413.519878.893073.17364867.83788226.2182171.2258421.940746113.519853152.71291033.61418152.4278.2
Microsoft Dependency InjectionClr351.4344.3100.5140.3 425.0   165.5227.9267.1      518.9133.6134.9133.5133.2134.1  11898.16743.72563.43624.7221634.6118677.019360.520569.11306455.9631134.294676.798121.8343.1
Simple InjectorClr164.0116.128.956.4853.5137.1 161.1 72.9     175.2   52.053.953.354.353.4  1310225.4752840.2129812.9285835.012547877.36791825.0992465.01155860.868991937.135698051.35293417.05579675.1 
NInjectClr87825.440301.1735.611315.9               11703.912860.511583.611748.411939.0  1479582.1901114.0276958.3411066.312098341.56568920.0890298.31059901.565714235.437548185.49186963.59370822.0 
AutofacCore17312.05974.5525.11935.714632.615160.6 19284.3 1861.02518.22451.62228.5  3393.4  3929.81798.81835.01725.61730.41833.02111.22118.7102831.387935.465176.574581.7962596.0793111.3625697.0607510.17638437.76791579.85925915.05885735.52529.4
GraceCore194.249.012.421.9197.4213.2723.9353.8237.044.631.634.262.6196.4466.6212.6230.3215.1218.621.521.429.721.526.935.634.9801376.8412396.220590.8101209.97918322.04005782.5138433.5217254.738510739.519598275.7737894.7820961.888.5
DryIocCore196.054.416.229.0246.6203.9 208.9 53.170.9146.0945.31882.71163.61830.8  1949.426.528.534.226.026.3  872177.2439869.39613.394491.28802666.14453794.2106541.9195661.442946160.721643314.1623701.1688856.6121.3
Castle WindsorCore69340.237115.0312.29888.7     9841.913004.99780.0   34577.421806.221869.823673.59913.310054.310564.49842.79907.2              13488.5
StructureMapCore10549.43442.7622.52093.78762.38555.4  10239.22070.42949.93003.4   6053.4 3015.725222.92098.32099.92075.71917.02056.5  15851588.58137959.8439356.41994207.7160655830.582746457.54564778.15966243.5821478117.2430217865.536589384.638518021.021332.1
LightInjectCore195.654.214.825.7251.6207.1 379.9 49.9  80.6  195.2  848.426.926.325.524.725.0  748808.0384193.618005.892274.87460546.03810637.0176371.5268928.837491822.019197151.01105758.31155264.8284.9
Microsoft Dependency InjectionCore223.8269.7100.7117.8 229.0   145.3204.4255.1      611.3117.9117.0128.0115.6117.9  16749.08757.92740.54492.3317057.7168999.719964.121975.71826290.3918442.596126.0100772.1324.4
Simple InjectorCore134.471.629.839.6720.0116.9 127.2 63.0     196.8   39.742.944.041.240.0  1087234.5612280.7118436.7225958.311244188.86161785.21235155.01309311.862215618.633088585.36763023.57132528.1 
NInjectCore103499.653588.11130.814830.9               15024.615356.714903.915595.516185.6  1060950.3620265.8152988.3255005.89539486.15154438.2698476.1823109.449961438.428754215.66988224.07107432.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