-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Shrink Nonterminal
#67340
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Shrink Nonterminal
#67340
Conversation
Notable local
Note that |
Would appreciate if we could block merging this PR on first merging #67131 since this one will generate a lot of conflicts with that PR. |
@bors try @rust-timer queue |
Awaiting bors try build completion |
Shrink `Nonterminal` These commits shrink `Nonterminal` from 240 bytes to 40 bytes. When building `serde_derive` they reduce the number of `memcpy` calls from 9.6M to 7.4M, and it's a tiny win on a few other benchmarks. r? @petrochenkov
☀️ Try build successful - checks-azure |
Queued 23f3174 with parent a605441, future comparison URL. |
Finished benchmarking try commit 23f3174, comparison URL. |
Here are the
|
r=me after rebase |
Ping from Triage: Any updates @nnethercote? |
This commit reduces the size of `Nonterminal` from a whopping 240 bytes to 72 bytes (on x86-64), which gets it below the `memcpy` threshold. It also removes some impedance mismatches with `Annotatable`, which already uses `P` for these variants.
This commit reduces the size of `Nonterminal` from a 72 bytes to 40 bytes (on x86-64).
ed9ba9b
to
7d2173e
Compare
Back now from PTO, I have rebased. @bors try @rust-timer queue |
Awaiting bors try build completion |
⌛ Trying commit 7d2173e with merge 1941303dc808ee27858ab3d907f612c9ab9c972d... |
☀️ Try build successful - checks-azure |
Queued 1941303dc808ee27858ab3d907f612c9ab9c972d with parent 9ed29b6, future comparison URL. |
rust-timer didn't give us a "finished" message, but the results are in and look as expected -- a small win. |
@bors r+ |
📌 Commit 7d2173e has been approved by |
Shrink `Nonterminal` These commits shrink `Nonterminal` from 240 bytes to 40 bytes. When building `serde_derive` they reduce the number of `memcpy` calls from 9.6M to 7.4M, and it's a tiny win on a few other benchmarks. r? @petrochenkov
☀️ Test successful - checks-azure |
📣 Toolstate changed by #67340! Tested on commit b1cb3c0. 🎉 rustc-guide on linux: test-fail → test-pass (cc @JohnTitor @amanjeev @spastorino @mark-i-m, @rust-lang/infra). |
Tested on commit rust-lang/rust@b1cb3c0. Direct link to PR: <rust-lang/rust#67340> 🎉 rustc-guide on linux: test-fail → test-pass (cc @JohnTitor @amanjeev @spastorino @mark-i-m, @rust-lang/infra).
These commits shrink
Nonterminal
from 240 bytes to 40 bytes. When buildingserde_derive
they reduce the number ofmemcpy
calls from 9.6M to 7.4M, and it's a tiny win on a few other benchmarks.r? @petrochenkov