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

Runaway borrow-check times for tinyvec crate #162

Open
Byron opened this issue Apr 4, 2021 · 2 comments
Open

Runaway borrow-check times for tinyvec crate #162

Byron opened this issue Apr 4, 2021 · 2 comments

Comments

@Byron
Copy link
Member

Byron commented Apr 4, 2021

It can be reproduced with the following script, assuming a nightly compiler is available.

git clone https://github.com/Lokathor/tinyvec
cd tinyvec
git checkout 0e0dc46d37b19d2a350896ed788c84218812b740
cargo +nightly check -Z timings # about 3.5s
mkdir -p .cargo && echo $'[build]\nrustflags = "-Zpolonius"' > .cargo/config.toml
cargo +nightly check -Z timings # about 2m40s

I thought I am posting this here in case it's an interesting use case and maybe even a low-hanging performance issue to resolve. This one stood out as it was the only one out of 114 crates being compiled that showed this kind of worst-case performance. Here is the full timings log.

@joshtriplett
Copy link
Member

I ran into this one as well. I found some other crates with similar runaway check times; I'll file issues for those.

@demurgos
Copy link

demurgos commented Oct 31, 2023

h2 and pulldown-cmark also seem way slower with Polonius.
I also have an internal code-generated crate with lots of const/static arrays of strings which is taking ages (over 15 minutes, and still running) (no proc macros there).

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

No branches or pull requests

3 participants