Environment
-----------
Python: 3.12.13 (AMD64)
Platform: Windows-10-10.0.19045-SP0
Processor: Intel64 Family 6 Model 142 Stepping 12, GenuineIntel
CPU count: 8
Benchmark commit: unknown
injex: 1.9.0
wireup: 2.12.0
dishka: 1.10.1
dependency-injector: 4.49.1
lagom: 2.7.7
punq: 0.8.0
doppy-di: 2.20.0.post1.dev0+g4192588a6.d20260821
Warmup iterations: 12_000
Measured iterations: 250_000
Samples: 9

Graph
-----
Settings: singleton
ApiClient(Settings): singleton
UserRepository(ApiClient): transient
EmailSender(ApiClient): transient
AuditLog(Settings): transient
RegisterUser(UserRepository, EmailSender, AuditLog): transient

Results
-------
Implementation           Median us/op  Min us/op  Max us/op   Overhead vs manual
injex                           0.932      0.845      2.027               -12.9%
manual                          1.070      0.766      1.691                +0.0%
dishka                          1.915      1.749      3.975               +78.9%
wireup same scope               2.410      1.805      4.067              +125.2%
dependency-injector             2.457      2.003      4.885              +129.6%
wireup scope/op                 3.842      3.053      6.152              +259.1%
doppy-di compiled               4.077      2.794      5.070              +281.0%
doppy-di                       15.547     14.803     17.846             +1353.0%
lagom                          31.759     29.182     33.003             +2868.2%
punq                          201.104    198.411    217.330            +18695.2%

Semantic checks
---------------
manual: PASS
injex: PASS
doppy-di: PASS
doppy-di compiled: PASS
wireup same scope: FAIL (AssertionError())
wireup scope/op: FAIL (AssertionError())
dishka: PASS
dependency-injector: PASS
lagom: FAIL (AssertionError())
punq: FAIL (AssertionError())

Cold-start results
------------------
Implementation         Build+register+validate+first resolve
doppy-di                        0.081 ms
doppy-di compiled               0.138 ms
injex                           0.161 ms
dependency-injector             0.216 ms
lagom                           0.358 ms
punq                            0.436 ms
dishka                          3.260 ms
wireup scope/op                 3.894 ms
wireup same scope               4.107 ms
