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

Bevy cold compilation times regressed 25% since 0.7 #5528

Closed
nicopap opened this issue Aug 1, 2022 · 1 comment
Closed

Bevy cold compilation times regressed 25% since 0.7 #5528

nicopap opened this issue Aug 1, 2022 · 1 comment
Labels
A-Build-System Related to build systems or continuous integration C-Performance A change motivated by improving speed, memory usage or compile times C-Usability A simple quality-of-life change that makes Bevy easier to use

Comments

@nicopap
Copy link
Contributor

nicopap commented Aug 1, 2022

Compilation times on a cold build between 0.7 and 0.8 regressed, see discord discussion

What solution would you like?

@inodentry :

  • serde, roughly dividing the whole dependency tree into 2 halves: "things that can be compiled before serde" and "things that need serde"; but this is out of scope for us, can't really do anything about it
  • wgpu: most of the bevy crates are done, while wgpu is still compiling
  • bevy_render, needs wgpu, and all the other big stuff like bevy_sprite and bevy_pbr needs it

Options are:

  • Splitting bevy_render so that compilation can be more parallel
  • Improving both bevy_pbr and bevy_sprite compile times
  • Magic away serde
  • Adding a few more cargo feature gates on some dependencies, notably naga

What alternative(s) have you considered?

Get a drink and chill out while my game compiles.

Context

Note that this only affects cold builds (usually builds for release game artifacts), not iterative builds, which is what happens in the edit/save/look at result dev loop.

@nicopap nicopap added A-Build-System Related to build systems or continuous integration C-Usability A simple quality-of-life change that makes Bevy easier to use labels Aug 1, 2022
@alice-i-cecile alice-i-cecile added the C-Performance A change motivated by improving speed, memory usage or compile times label Aug 1, 2022
@nicopap
Copy link
Contributor Author

nicopap commented Apr 18, 2023

This was probably fixed by #5950

@nicopap nicopap closed this as completed Apr 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Build-System Related to build systems or continuous integration C-Performance A change motivated by improving speed, memory usage or compile times C-Usability A simple quality-of-life change that makes Bevy easier to use
Projects
None yet
Development

No branches or pull requests

2 participants