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

Bump version to 0.6.0 #58

Merged
merged 1 commit into from
Mar 28, 2024
Merged

Bump version to 0.6.0 #58

merged 1 commit into from
Mar 28, 2024

Conversation

PoignardAzur
Copy link
Owner

Fix deprecation warnings from assert macros
Update lockfile
Tweak docs

Fix deprecation warnings from assert macros
Update lockfile
Tweak docs
@PoignardAzur PoignardAzur merged commit 178bb9d into main Mar 28, 2024
3 checks passed
@PoignardAzur PoignardAzur deleted the version_bump2 branch March 28, 2024 14:03
@Bromeon
Copy link
Collaborator

Bromeon commented Mar 28, 2024

Thanks a lot! 🚀

One question about the lib.rs docs:

Venial never improves incremental build times at all (since dependencies are cached, even when incremental compilation is off).

I'm not sure if this reasoning is correct -- proc-macros invoked in client code are running again and again. For example, syn parses the entire body of all functions it encounters and builds an AST for every expression.

Also, rustc doesn't cache proc-macro invocations to my knowledge, since in theory they can have side effects and aren't pure functions. But even if caching were enabled: if you have a #[some_attribute_macro] on a big impl or mod block and change a single token inside, the whole thing has to be re-evaluated. If there is less parsing work being done, why would venial not be faster?

@PoignardAzur
Copy link
Owner Author

I'm not sure Venial actually does less parsing. My best guess as to why its performance in first builds is better is that Venial itself is faster to compile than Syn, since it's much smaller. But I don't think it's much faster to run. In any case, I haven't observed big differences in incremental times.

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.

2 participants