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

The compiler makes an enormous number of copies of vectors and strings #2543

Closed
pcwalton opened this issue Jun 8, 2012 · 3 comments
Closed
Labels
I-slow Issue: Problems and improvements with respect to performance of generated code.

Comments

@pcwalton
Copy link
Contributor

pcwalton commented Jun 8, 2012

We should go through and eliminate all of them. This is not hard, but will be quite time consuming.

I suspect a large part of the reason the compiler is slow is due to this.

@graydon
Copy link
Contributor

graydon commented Jun 20, 2012

Hanging the general "too many copies in the front-end" bugs off this (including copies of vecs and a few other AST node types). I suspect the solutions are all closely related.

@msullivan
Copy link
Contributor

Do we know how to fix them? I feel like the obvious approach is putting more vectors and strings behind @ pointers (or actually trying to use our @-vectors), but we seem to be wanting to remove a lot of support for that...

@pnkfelix
Copy link
Member

Visiting for bug triage, email 2013-08-12.

There's of course also the approach of maintaining intern vector/string pools and passing around indices into the pools.

bors added a commit that referenced this issue Sep 10, 2013
…r=catamorphism

Ensures that each AST node has a unique id. Fixes numerous bugs in macro expansion and deriving. Add two
representative tests.

Fixes #7971
Fixes #6304
Fixes #8367
Fixes #8754
Fixes #8852
Fixes #2543
Fixes #7654
nivkner added a commit to nivkner/rust that referenced this issue Mar 17, 2018
bors added a commit to rust-lang-ci/rust that referenced this issue Sep 22, 2022
Run the GC more often on Linux, not MacOS

Linux has more testing and is also faster in CI, we should do the extra slow checks there.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-slow Issue: Problems and improvements with respect to performance of generated code.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants