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

Compile times #197

Open
3 tasks
bepvte opened this issue Nov 18, 2021 · 0 comments
Open
3 tasks

Compile times #197

bepvte opened this issue Nov 18, 2021 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@bepvte
Copy link
Contributor

bepvte commented Nov 18, 2021

Currently, the compile time for Telescope is around 1 minute from scratch on a 12 thread modern laptop. On most laptops, it will probably be a lot slower. There are several things I can think of that might speed up the telescope build.

  • Make sure as many as duplicate dependencies in the tree as possible are the same version.
  • Split the discord bot into its own process or dynamic library, would modularize the slowest part of the build that doesn't change as much. Serenity uses lots of procedural macros and packages. I was thinking I'd use tarpc to make this seamless as possible for making a process, but maybe just regular http api stuff would be less complex. I plan on exploring this fully later. I will probably need to keep serenity in the main process as well (in order to keep the non bot discord features from needing rpc), but with less features in the build. This all might be a no go if the cut down serenity doesnt build much faster.
  • Set a good.cargo/config.toml (I have already found much better build speed using llvm bitcode and less debuginfo but they need a special llvm install that matches rust).
@bepvte bepvte added the enhancement New feature or request label Nov 18, 2021
@bepvte bepvte self-assigned this Nov 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant