Benchmarks
Resolution latency against a 7-class dependency graph. Measured with mitata.
Run npm run bench:compare to regenerate from your machine.
Please note that this is a simple resolution benchmark that might differ from the actual usage model of a particular library. For example, the NestJS container is not usually used directly, but through its application framework.
Last updated on June 17, 2026.
Transient
| Library | Latency |
|---|
| Raw (new) | 9.64 ns |
| DiCaf (provider) | 158.11 ns |
| DiCaf | 165.17 ns |
| Awilix | 481.83 ns |
| injection-js | 569.86 ns |
| TSyringe | 1.15 µs |
| Inversify | 1.93 µs |
| TypeDI | 2.28 µs |
| LoopBack | 2.71 µs |
| NestJS | 4.91 µs |
Singleton
| Library | Latency |
|---|
| DiCaf (provider) | 16.37 ns |
| DiCaf | 17.85 ns |
| Awilix | 17.98 ns |
| TypeDI | 27.23 ns |
| Awilix (cradle) | 31.16 ns |
| injection-js | 40.21 ns |
| TSyringe | 68.56 ns |
| NestJS | 81.12 ns |
| Inversify | 101.72 ns |
| LoopBack | 195.07 ns |