Skip to content
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

build: split pb and common to speed up compilation #19623

Open
xxchan opened this issue Nov 29, 2024 · 0 comments
Open

build: split pb and common to speed up compilation #19623

xxchan opened this issue Nov 29, 2024 · 0 comments
Labels
help wanted Issues that need help from contributors type/feature

Comments

@xxchan
Copy link
Member

xxchan commented Nov 29, 2024

pb and common are the root of all other crates. Whenever they are modified, all crates need to re-compiled, which take a lot of time.

One example: We can try to make expr compile separately. It depends on very few stuff actually, not the whole pb and common crate.

  • risingwave_pb::expr
  • risingwave_common::{array,types,row,...}

Besides, these parts are modified rarely. If we separate these part out into new crates (maybe risingwave_pb_data and risingwave_data):

  • They can be compile in an earlier stage, and compiled in parallel with the remaining crates. (In the image above, we can see risingwave_expr_impl started compilation after ~20s.)
  • More importantly, they are less likely to be re-compiled due to unrelated changes.
image
@github-actions github-actions bot added this to the release-2.2 milestone Nov 29, 2024
@xxchan xxchan added the help wanted Issues that need help from contributors label Nov 29, 2024
@fuyufjh fuyufjh removed this from the release-2.2 milestone Jan 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Issues that need help from contributors type/feature
Projects
None yet
Development

No branches or pull requests

2 participants