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

Optimise build times #3167

Merged
merged 4 commits into from
May 6, 2022
Merged

Conversation

weiznich
Copy link
Member

@weiznich weiznich commented May 4, 2022

This commit replaces some recursive macros with simpler implementations
by generating non recursive where clauses by just forwarding to the next
smaller impl on the corresponding tuple.
According to my measurements this reduces the build time for a cargo check --no-default-features --features "sqlite 64-column-table" build
from ~1min 20s to ~1min 05s.

This commit replaces some recursive macros with simpler implementations
by generating non recursive where clauses by just forwarding to the next
smaller impl on the corresponding tuple.
According to my measurements this reduces the build time for a `cargo
check --no-default-features --features "sqlite 64-column-table"` build
from ~1min 20s to ~1min 05s.
@weiznich weiznich requested a review from a team May 4, 2022 12:37
@Ten0
Copy link
Member

Ten0 commented May 4, 2022

Maybe relevant: that's weird, it looks like we had the opposite issue with #2480 (Rust issue rust-lang/rust#75542) which we eventually worked around with 4db0e1d which goes the opposite way from this.

Technically this seems to be a breaking change, but as we haven't
released 2.0 yet this is fine.
@weiznich
Copy link
Member Author

weiznich commented May 5, 2022

Yes that was surprising for me as well. Anyway see #3163 for more context. It seems like some rustc developers are aware of the issue regarding to SqlType

@weiznich weiznich merged commit 99f209f into diesel-rs:master May 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants