Skip to content

Update inversify build on top of tsgo#1851

Draft
notaphplover wants to merge 1 commit into
mainfrom
poc/tsgo
Draft

Update inversify build on top of tsgo#1851
notaphplover wants to merge 1 commit into
mainfrom
poc/tsgo

Conversation

@notaphplover
Copy link
Copy Markdown
Member

Changed

  • Updated inversify build on top of tsgo.

update build to be on top of tsgo
@notaphplover notaphplover self-assigned this May 5, 2026
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 5, 2026

⚠️ No Changeset found

Latest commit: 57d28d3

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 5, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9884c9ae-65ca-4f9d-b6ae-ce806588bd3d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch poc/tsgo

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2026

Benchmarks results:

> root@ benchmarks:container:cjs /home/runner/work/monorepo/monorepo
> pnpm run --filter "@inversifyjs/container-benchmarks" benchmarks:run:cjs


> @inversifyjs/container-benchmarks@ benchmarks:run:cjs /home/runner/work/monorepo/monorepo/packages/container/tools/container-benchmarks
> ./bin/run-cjs.cjs

[CJS] Running benchmarks...

Get service in singleton scope
┌─────────┬────────────────────┬───────────────────┬──────────────────┬────────────────────────┬────────────────────────┬─────────┐
│ (index) │ Task name          │ Latency avg (ns)  │ Latency med (ns) │ Throughput avg (ops/s) │ Throughput med (ops/s) │ Samples │
├─────────┼────────────────────┼───────────────────┼──────────────────┼────────────────────────┼────────────────────────┼─────────┤
│ 0       │ 'inversifyCurrent''290.83 ± 1.24%''251.00 ± 10.00''3716065 ± 0.02%''3984064 ± 165314'     │ 3438478 │
│ 1       │ 'inversify6''1170.0 ± 8.59%''1032.0 ± 40.00''938185 ± 0.02%''968992 ± 39072'       │ 854673  │
│ 2       │ 'inversify7''308.24 ± 0.22%''281.00 ± 10.00''3417935 ± 0.01%''3558719 ± 131318'     │ 3244262 │
│ 3       │ 'NestJS''368.32 ± 10.39%''320.00 ± 9.00''3084940 ± 0.01%''3125000 ± 90434'      │ 2715001 │
│ 4       │ 'tsyringe''317.87 ± 0.41%''291.00 ± 10.00''3329007 ± 0.01%''3436426 ± 122293'     │ 3145982 │
└─────────┴────────────────────┴───────────────────┴──────────────────┴────────────────────────┴────────────────────────┴─────────┘
inversifyCurrent vs inversify6 Speedup: 3.961x
inversifyCurrent vs inversify7 Speedup: 1.087x
inversifyCurrent vs NestJS Speedup: 1.205x
inversifyCurrent vs tsyringe Speedup: 1.116x

Get service in transient scope
┌─────────┬────────────────────┬──────────────────┬───────────────────┬────────────────────────┬────────────────────────┬─────────┐
│ (index) │ Task name          │ Latency avg (ns) │ Latency med (ns)  │ Throughput avg (ops/s) │ Throughput med (ops/s) │ Samples │
├─────────┼────────────────────┼──────────────────┼───────────────────┼────────────────────────┼────────────────────────┼─────────┤
│ 0       │ 'inversifyCurrent''495.47 ± 0.36%''461.00 ± 10.00''2108623 ± 0.01%''2169197 ± 48098'      │ 2018305 │
│ 1       │ 'inversify6''6128.1 ± 0.39%''5611.0 ± 139.00''169674 ± 0.06%''178221 ± 4308'        │ 163182  │
│ 2       │ 'inversify7''606.13 ± 1.09%''571.00 ± 10.00''1723652 ± 0.01%''1751313 ± 31218'      │ 1649814 │
│ 3       │ 'NestJS''9763.3 ± 5.32%''8225.0 ± 301.00''118625 ± 0.07%''121581 ± 4567'        │ 102424  │
│ 4       │ 'tsyringe''471.61 ± 0.35%''441.00 ± 11.00''2212173 ± 0.01%''2267574 ± 58008'      │ 2120417 │
└─────────┴────────────────────┴──────────────────┴───────────────────┴────────────────────────┴────────────────────────┴─────────┘
inversifyCurrent vs inversify6 Speedup: 12.427x
inversifyCurrent vs inversify7 Speedup: 1.223x
inversifyCurrent vs NestJS Speedup: 17.775x
inversifyCurrent vs tsyringe Speedup: 0.953x

Get complex service in singleton scope
┌─────────┬────────────────────┬───────────────────┬──────────────────┬────────────────────────┬────────────────────────┬─────────┐
│ (index) │ Task name          │ Latency avg (ns)  │ Latency med (ns) │ Throughput avg (ops/s) │ Throughput med (ops/s) │ Samples │
├─────────┼────────────────────┼───────────────────┼──────────────────┼────────────────────────┼────────────────────────┼─────────┤
│ 0       │ 'inversifyCurrent''275.26 ± 0.12%''251.00 ± 10.00''3798849 ± 0.01%''3984064 ± 152646'     │ 3632947 │
│ 1       │ 'inversify6''1262.4 ± 14.64%''1041.0 ± 39.00''930044 ± 0.03%''960615 ± 37389'       │ 792150  │
│ 2       │ 'inversify7''310.92 ± 0.56%''281.00 ± 10.00''3423745 ± 0.01%''3558719 ± 122293'     │ 3216242 │
│ 3       │ 'NestJS''346.71 ± 1.17%''320.00 ± 10.00''3042048 ± 0.01%''3125000 ± 94697'      │ 2884290 │
│ 4       │ 'tsyringe''356.56 ± 7.43%''311.00 ± 10.00''3082710 ± 0.01%''3215434 ± 106825'     │ 2804585 │
└─────────┴────────────────────┴───────────────────┴──────────────────┴────────────────────────┴────────────────────────┴─────────┘
inversifyCurrent vs inversify6 Speedup: 4.085x
inversifyCurrent vs inversify7 Speedup: 1.110x
inversifyCurrent vs NestJS Speedup: 1.249x
inversifyCurrent vs tsyringe Speedup: 1.232x

Get complex service in transient scope
┌─────────┬────────────────────┬───────────────────┬────────────────────┬────────────────────────┬────────────────────────┬─────────┐
│ (index) │ Task name          │ Latency avg (ns)  │ Latency med (ns)   │ Throughput avg (ops/s) │ Throughput med (ops/s) │ Samples │
├─────────┼────────────────────┼───────────────────┼────────────────────┼────────────────────────┼────────────────────────┼─────────┤
│ 0       │ 'inversifyCurrent''197848 ± 0.38%''192570 ± 1223.0''5092 ± 0.16%''5193 ± 33'            │ 5055    │
│ 1       │ 'inversify6''5718725 ± 0.79%''5612542 ± 102061''175 ± 0.72%''178 ± 3'              │ 175     │
│ 2       │ 'inversify7''269296 ± 0.33%''263777 ± 2269.0''3733 ± 0.17%''3791 ± 33'            │ 3714    │
│ 3       │ 'NestJS''66308 ± 1.96%''60924 ± 1131.0''16079 ± 0.14%''16414 ± 305'          │ 15082   │
│ 4       │ 'tsyringe''218864 ± 0.50%''213247 ± 1884.5''4611 ± 0.18%''4689 ± 42'            │ 4570    │
└─────────┴────────────────────┴───────────────────┴────────────────────┴────────────────────────┴────────────────────────┴─────────┘
inversifyCurrent vs inversify6 Speedup: 29.045x
inversifyCurrent vs inversify7 Speedup: 1.364x
inversifyCurrent vs NestJS Speedup: 0.317x
inversifyCurrent vs tsyringe Speedup: 1.104x
> root@ benchmarks:container:esm /home/runner/work/monorepo/monorepo
> pnpm run --filter "@inversifyjs/container-benchmarks" benchmarks:run:esm


> @inversifyjs/container-benchmarks@ benchmarks:run:esm /home/runner/work/monorepo/monorepo/packages/container/tools/container-benchmarks
> ./bin/run-esm.mjs

[ESM] Running benchmarks...

Get service in singleton scope
┌─────────┬────────────────────┬──────────────────┬──────────────────┬────────────────────────┬────────────────────────┬─────────┐
│ (index) │ Task name          │ Latency avg (ns) │ Latency med (ns) │ Throughput avg (ops/s) │ Throughput med (ops/s) │ Samples │
├─────────┼────────────────────┼──────────────────┼──────────────────┼────────────────────────┼────────────────────────┼─────────┤
│ 0       │ 'inversifyCurrent''289.18 ± 0.17%''260.00 ± 10.00''3671449 ± 0.02%''3846154 ± 153846'     │ 3458006 │
│ 1       │ 'inversify6''1012.5 ± 8.05%''902.00 ± 20.00''1078448 ± 0.02%''1108647 ± 25139'      │ 987608  │
│ 2       │ 'inversify7''267.03 ± 0.25%''250.00 ± 10.00''3890741 ± 0.01%''4000000 ± 166667'     │ 3744929 │
│ 3       │ 'NestJS''340.80 ± 9.27%''291.00 ± 10.00''3296797 ± 0.01%''3436426 ± 114167'     │ 2934306 │
│ 4       │ 'tsyringe''309.42 ± 9.86%''261.00 ± 10.00''3707216 ± 0.01%''3831418 ± 152646'     │ 3231889 │
└─────────┴────────────────────┴──────────────────┴──────────────────┴────────────────────────┴────────────────────────┴─────────┘
inversifyCurrent vs inversify6 Speedup: 3.404x
inversifyCurrent vs inversify7 Speedup: 0.944x
inversifyCurrent vs NestJS Speedup: 1.114x
inversifyCurrent vs tsyringe Speedup: 0.990x

Get service in transient scope
┌─────────┬────────────────────┬──────────────────┬───────────────────┬────────────────────────┬────────────────────────┬─────────┐
│ (index) │ Task name          │ Latency avg (ns) │ Latency med (ns)  │ Throughput avg (ops/s) │ Throughput med (ops/s) │ Samples │
├─────────┼────────────────────┼──────────────────┼───────────────────┼────────────────────────┼────────────────────────┼─────────┤
│ 0       │ 'inversifyCurrent''500.82 ± 0.45%''471.00 ± 10.00''2101983 ± 0.01%''2123142 ± 46055'      │ 1996745 │
│ 1       │ 'inversify6''5527.6 ± 6.69%''5060.0 ± 81.00''193496 ± 0.04%''197628 ± 3215'        │ 180909  │
│ 2       │ 'inversify7''540.29 ± 2.46%''501.00 ± 10.00''1963237 ± 0.01%''1996008 ± 40652'      │ 1850848 │
│ 3       │ 'NestJS''9497.8 ± 2.98%''8136.0 ± 309.00''119384 ± 0.07%''122911 ± 4722'        │ 105288  │
│ 4       │ 'tsyringe''440.50 ± 1.23%''411.00 ± 19.00''2377837 ± 0.01%''2433090 ± 107509'     │ 2270167 │
└─────────┴────────────────────┴──────────────────┴───────────────────┴────────────────────────┴────────────────────────┴─────────┘
inversifyCurrent vs inversify6 Speedup: 10.863x
inversifyCurrent vs inversify7 Speedup: 1.071x
inversifyCurrent vs NestJS Speedup: 17.607x
inversifyCurrent vs tsyringe Speedup: 0.884x

Get complex service in singleton scope
┌─────────┬────────────────────┬───────────────────┬──────────────────┬────────────────────────┬────────────────────────┬─────────┐
│ (index) │ Task name          │ Latency avg (ns)  │ Latency med (ns) │ Throughput avg (ops/s) │ Throughput med (ops/s) │ Samples │
├─────────┼────────────────────┼───────────────────┼──────────────────┼────────────────────────┼────────────────────────┼─────────┤
│ 0       │ 'inversifyCurrent''289.38 ± 0.20%''261.00 ± 10.00''3640253 ± 0.01%''3831418 ± 141381'     │ 3455627 │
│ 1       │ 'inversify6''1020.9 ± 8.73%''902.00 ± 20.00''1077872 ± 0.02%''1108647 ± 24049'      │ 979516  │
│ 2       │ 'inversify7''266.17 ± 0.25%''250.00 ± 10.00''3897658 ± 0.01%''4000000 ± 166667'     │ 3757042 │
│ 3       │ 'NestJS''369.72 ± 11.40%''320.00 ± 10.00''3059259 ± 0.01%''3125000 ± 100806'     │ 2704741 │
│ 4       │ 'tsyringe''303.15 ± 1.98%''271.00 ± 10.00''3553987 ± 0.01%''3690037 ± 131318'     │ 3298656 │
└─────────┴────────────────────┴───────────────────┴──────────────────┴────────────────────────┴────────────────────────┴─────────┘
inversifyCurrent vs inversify6 Speedup: 3.377x
inversifyCurrent vs inversify7 Speedup: 0.934x
inversifyCurrent vs NestJS Speedup: 1.190x
inversifyCurrent vs tsyringe Speedup: 1.024x

Get complex service in transient scope
┌─────────┬────────────────────┬───────────────────┬───────────────────┬────────────────────────┬────────────────────────┬─────────┐
│ (index) │ Task name          │ Latency avg (ns)  │ Latency med (ns)  │ Throughput avg (ops/s) │ Throughput med (ops/s) │ Samples │
├─────────┼────────────────────┼───────────────────┼───────────────────┼────────────────────────┼────────────────────────┼─────────┤
│ 0       │ 'inversifyCurrent''236708 ± 0.36%''232205 ± 1293.0''4251 ± 0.17%''4307 ± 24'            │ 4225    │
│ 1       │ 'inversify6''5530915 ± 0.93%''5390759 ± 75100''181 ± 0.82%''186 ± 3'              │ 181     │
│ 2       │ 'inversify7''204656 ± 0.36%''199924 ± 1543.0''4922 ± 0.17%''5002 ± 39'            │ 4887    │
│ 3       │ 'NestJS''65392 ± 2.06%''59822 ± 1062.0''16366 ± 0.14%''16716 ± 297'          │ 15293   │
│ 4       │ 'tsyringe''228256 ± 0.47%''222421 ± 2164.0''4419 ± 0.19%''4496 ± 44'            │ 4382    │
└─────────┴────────────────────┴───────────────────┴───────────────────┴────────────────────────┴────────────────────────┴─────────┘
inversifyCurrent vs inversify6 Speedup: 23.429x
inversifyCurrent vs inversify7 Speedup: 0.864x
inversifyCurrent vs NestJS Speedup: 0.260x
inversifyCurrent vs tsyringe Speedup: 0.962x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant