-
Notifications
You must be signed in to change notification settings - Fork 13k
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
[DO NOT MERGE] syntax: try ref-counting the AST. #58482
Conversation
(rust_highfive has picked a reviewer for you, use r? to override) |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
@eddyb |
@petrochenkov It's still only a proposal from me at this point. But if I'm to work on IDE-oriented incremental this year I'm not seeing many alternatives. |
I don't understand the failure, it appears to be an ICE during @bors try |
⌛ Trying commit d4de6fd453be44a58c67efe0a1c79fccb4f8f997 with merge bf318f6acedd85b42bf991d650ae7f693a551e1a... |
💔 Test failed - checks-travis |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
Oh it happens during compiling |
I got these errors when building locally:
|
@Zoxc @petrochenkov The query stack I get from |
@bors try |
⌛ Trying commit a05d12b with merge 40f1a011885f5188d36698593a7345499295f6a0... |
☀️ Test successful - checks-travis |
@rust-timer build 40f1a011885f5188d36698593a7345499295f6a0 |
Success: Queued 40f1a011885f5188d36698593a7345499295f6a0 with parent f47ec2a, comparison URL. |
Finished benchmarking try commit 40f1a011885f5188d36698593a7345499295f6a0 |
I wonder if the green is noise, or benefits from sharing. |
I suspect that the instruction counts are noise; https://perf.rust-lang.org/compare.html?start=f47ec2ad5b6887b3d400aee49e2294bd27733d18&end=40f1a011885f5188d36698593a7345499295f6a0&stat=max-rss seems more likely to be accurate. It doesn't look like there are any major wins though, but no losses either. |
I certainly expected it be more uniformly a regression but it's hard to tell what may end up shared. |
Ping from triage! What is the status of this PR? |
Closing due to inactivity. The changes have already been benchmarked, so this PR might be "done" now. Feel free to reopen and assign someone if this is wrong. |
This an exploratory change, mainly to see what the costs around manipulating ASTs are.
Trying out an arena would be harder, as lifetimes would have to be added everywhere.
Also, AFAIK we don't have a "memory/time graph" of any sort, so it might be hard to profile.
cc @michaelwoerister @Mark-Simulacrum @Zoxc