Skip to content
Yohan edited this page May 5, 2017 · 1 revision

The source is available in Hypodermic.Tests/PerformanceTests.cpp

Run for 100000 iterations with 10000 cycles of warm up on Windows 10, Intel Core i7-4790 @ 3.60GHz, and 32 GB of RAM.

Unless stated otherwise, time is given in µs.

Default constructible type

std::make_shared resolve not registered transient resolve registered transient resolve registered single instance resolve registered instance
Overall (ms) 10 71 70 54 55
Average 0.07 0.68 0.67 0.51 0.52
Min 0 0.57 0.57 0.28 0.28
Max 43 149 267 87 268
99.999% 40 67 67 70 115
99.99% 22 41 30 24 24
99.9% 1 9 7 2 4
99% 0.28 0.86 0.86 0.57 0.57
95% 0.28 0.86 0.86 0.57 0.57
50% 0 0.57 0.57 0.57 0.57

Type with default constructible dependency

std::make_shared resolve not registered transient resolve registered transient resolve with registered single instance dependency resolve with registered instance dependency
Overall (ms) 18 192 190 177 170
Average 0.1 1 1 1 1
Min 0 1 1 1 1
Max 150 314 513 160 92
99.999% 86 181 139 104 85
99.99% 27 75 53 47 55
99.9% 8 23 23 21 21
99% 0.3 2 2 2 2
95% 0.3 1 1 1 1
50% 0 1 1 1 1