Skip to content

Conversation

@KSDaemon
Copy link
Member

@KSDaemon KSDaemon commented Nov 18, 2025

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 CubeToMetaTransformer compilation flow:

  • increase compilation speed
  • reduce memory allocations
  • reduce memory pressure for GC

And finally, CubeToMetaTransformer and some other minor classes were moved to TypeScript!

Some confirmation pictures :)

Memory allocations BEFORE:
Screenshot 2025-11-18 в 20 32 03

Memory allocations AFTER:
Screenshot 2025-11-18 в 20 32 13

CPU FlameGraph BEFORE:
Screenshot 2025-11-18 в 20 33 36

CPU FlameGraph AFTER:
Screenshot 2025-11-18 в 20 33 49

Check List

  • Tests have been run in packages where changes have been made, if available
  • Linter has been run for changed code
  • Tests for the changes have been added if not covered yet

@github-actions github-actions bot added the javascript Pull requests that update Javascript code label Nov 18, 2025
@KSDaemon KSDaemon force-pushed the feat/meta-transformer-improve branch from a69214a to 06128c1 Compare November 18, 2025 18:42
@KSDaemon KSDaemon force-pushed the feat/meta-transformer-improve branch from 06128c1 to 6230419 Compare November 18, 2025 19:02
@codecov
Copy link

codecov bot commented Nov 18, 2025

Codecov Report

❌ Patch coverage is 83.19328% with 20 lines in your changes missing coverage. Please review.
✅ Project coverage is 54.75%. Comparing base (258be19) to head (6230419).

Files with missing lines Patch % Lines
...ema-compiler/src/compiler/CubeToMetaTransformer.ts 81.25% 10 Missing and 8 partials ⚠️
...ejs-schema-compiler/src/compiler/CubeDictionary.ts 85.71% 1 Missing ⚠️
...cubejs-schema-compiler/src/compiler/CubeSymbols.ts 50.00% 1 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (258be19) and HEAD (6230419). Click for more details.

HEAD has 1 upload less than BASE
Flag BASE (258be19) HEAD (6230419)
cubesql 1 0
Additional details and impacted files
@@             Coverage Diff             @@
##           master   #10150       +/-   ##
===========================================
- Coverage   83.29%   54.75%   -28.55%     
===========================================
  Files         244      213       -31     
  Lines       74180    16942    -57238     
  Branches        0     3365     +3365     
===========================================
- Hits        61786     9276    -52510     
+ Misses      12394     7180     -5214     
- Partials        0      486      +486     
Flag Coverage Δ
cube-backend 54.75% <83.19%> (?)
cubesql ?

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@KSDaemon KSDaemon marked this pull request as ready for review November 18, 2025 21:29
@KSDaemon KSDaemon requested a review from a team as a code owner November 18, 2025 21:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants