-
Notifications
You must be signed in to change notification settings - Fork 124
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
Cleanup #250
Cleanup #250
Conversation
I've ran some compilation profiling with the following command:
And got these results: I also ran
Just in case you're curious :) |
I've updated the dependencies with |
25095ee
to
c337ae8
Compare
Here are the results of this PR, run them yourself as well if you want to make sure:
|
Yes, I have seen this post in the And I am not sure if it's necessary to introduce
It should work, I haven't changed anything of this bot.
It seems the compilation time of debug build and release build for |
ureq = { version = "2.0", default-features = false, features = ["json", "cookies"], optional = true } | ||
url = "2.2.2" | ||
async-trait = { version = "0.1.51", optional = true } | ||
log = "0.4.14" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since you have replaced log
with debug_assert
, is it possible to remove this crate?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was going to remove it but I think it's still useful to have around. I wanted to add some log statements before releasing the new version because we don't even log that much right now. But I wanted to wait for the pending PRs to be merged first.
Also, nah I wouldn't introduce bors. It seems complicated and we're a small team so not really necessary. Reqwest might be a bit slower but that's just the benchmark innaccuracy; I only did one run. There's no reason the build times should increase otherwise. As you can see there are less dependencies and its tree allows for more parallelization. Perhaps the benchmark wasn't the best idea. |
Is it possible to benchmark with CI, just treating every check PR as build benchmark. Thus, we could check the last CI build as the |
I mean you can always take a look at how long it takes the CI to finish, but it's just as inaccurate as doing it manually because there's only one run.
The thing is that even if the changes in this PR don't improve compile times, it's still an improvement because it tidies up the Cargo.toml files and similars. |
Would you like to remove the |
I'll add some more logs to the main crate after the rest of the PRs are merged, so we'll need it (I've added it to the meta-issue). I'll merge then, thanks! |
Description
This cleans up quite a few things:
debug_assert
instead oflog
to ensure endpoint predicates are met; some people don't enable logging at allderive
macros.Serialize/Deserialize
items fromsrc
torspotify-model
, likeToken
, where they fit better. This forced me to create aModelError
, but I don't really see the problem.custom_serde
and fixpub(in crate)
occurencesToken::from_cache
now returns aResult
instead of anOption
, as the TODO above indicated.Motivation and Context
I'm working on the last things needed to finally release v0.11. This is one of them :)
I got some of these suggestions from this very nice article, give it a read yourself: https://matklad.github.io/2021/09/04/fast-rust-builds.html
Dependencies
None, if anything I've removed some.
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
The CI should also pass after this