-
Notifications
You must be signed in to change notification settings - Fork 1.9k
perf(schema-compiler): Optimize CubeToMetaTransformer compilation flow #10150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
a69214a to
06128c1
Compare
06128c1 to
6230419
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #10150 +/- ##
===========================================
- Coverage 83.29% 54.74% -28.55%
===========================================
Files 244 213 -31
Lines 74180 16945 -57235
Branches 0 3366 +3366
===========================================
- Hits 61786 9277 -52509
+ Misses 12394 7181 -5213
- Partials 0 487 +487
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
packages/cubejs-schema-compiler/src/compiler/ContextEvaluator.ts
Outdated
Show resolved
Hide resolved
ece328c to
3f677f0
Compare
This PR is actually a side effect of the other stuff I'm working on :) But, well, why not improve some things here, too! :)
This PR brings some performance improvements in the
CubeToMetaTransformercompilation flow:And finally,
CubeToMetaTransformerand some other minor classes were moved to TypeScript!Some confirmation pictures :)
Memory allocations BEFORE:

Memory allocations AFTER:

CPU FlameGraph BEFORE:

CPU FlameGraph AFTER:

Check List