perf(*): about 15% faster overall in large sdk codegen#4189
Conversation
|
|
|
Run failed. View the logs →
|
|
@SukkaW is attempting to deploy a commit to the Hey API Team on Vercel. A member of the Team first needs to authorize it. |
🦋 Changeset detectedLatest commit: b84d40f The changes in this PR will be included in the next version bump. This PR includes changesets to release 4 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #4189 +/- ##
==========================================
+ Coverage 40.16% 40.60% +0.44%
==========================================
Files 828 828
Lines 25358 25620 +262
Branches 7552 7628 +76
==========================================
+ Hits 10184 10402 +218
- Misses 12237 12277 +40
- Partials 2937 2941 +4
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
@hey-api/codegen-cli
@hey-api/codegen-core
@hey-api/json-schema-ref-parser
@hey-api/nuxt
@hey-api/openapi-python
@hey-api/openapi-ts
@hey-api/shared
@hey-api/spec-types
@hey-api/types
@hey-api/vite-plugin
commit: |
c321769 to
6e7c933
Compare

The PR follows my previous PR #3823 and #3917
ts-compilerprint GC pressure by reducing object allocation: reduce spread copy, remove context object. Also, some other micro-optimizations like the faster join method.forEachw/ plain loop, reduce closure, and more)The PR also introduces extra phase timing tracking with debug log level, with detailed generation step time:
The Cloudflare schema generation time reduces from 10-11 seconds to 9-10 (sometimes sub-9 seconds if the download is very fast) seconds.
Also, FlameGraph comparison:
before:
after: