Skip to content

Tracking issue: compile times #1303

Open
@LukasKalbertodt

Description

@LukasKalbertodt

The incremental compile times for the Tobira backend have gotten quite annoying. touch src/api/id.rs && cargo build takes roughly 16s for me, which is not great. And I have a Ryzen 7 7700X which is quite modern, especially regarding single core performance, which is most relevant for incremental compile times.
The full compile time (including all dependencies) with 51s isn't that bad, that's quite acceptable. But yeah the incremental compile time really makes development ... uhg.

This issue is just here to collect information on the issue and potentially track progress (or lack thereof...).


Unfortunately, it's not too surprising that Tobira takes a while to compile. We use lots of procedural macro helpers (confique for configuration, juniper for the GraphQL API, serde for various (de)serializations, clap for CLI args, reinda for assets, ...). I don't want to shit on proc-macros, I do like the tool, but they have to be expanded and, likely more importantly, they can quickly generate quite a lot of code that rustc then has to churn through.


Some resources:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:backendEverything backend relatedkind:tracking-issueLong lived for tracking the progress of a more general topic

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions