about summary refs log tree commit diff
path: root/src/libstd/sys
diff options
context:
space:
mode:
authorNicholas Nethercote <nnethercote@mozilla.com>2018-12-12 09:01:39 +1100
committerNicholas Nethercote <nnethercote@mozilla.com>2018-12-12 20:36:00 +1100
commit67f8fb5960551fbe80cc49ace1103a9fe393f9f4 (patch)
tree5e0c1adf5a0f6aaa75554ceb862e16682eb1dc51 /src/libstd/sys
parent08857c1c5743133ac309820640ef0755c82fedb7 (diff)
downloadrust-67f8fb5960551fbe80cc49ace1103a9fe393f9f4.tar.gz
rust-67f8fb5960551fbe80cc49ace1103a9fe393f9f4.zip
Use `Lrc<Vec<TokenStream>>` instead of `RcVec<TokenStream>`.
This shrinks:
- ThinTokenStream: 16 to 8 bytes
- TokenTree: 32 to 24 bytes
- TokenStream: 40 to 32 bytes

The only downside is that in a couple of places this requires using
`to_vec()` (which allocates) instead of `sub_slice()`. But those places
are rarely executed, so it doesn't hurt perf.

Overall, this reduces instruction counts on numerous benchmarks by up to
3%.
Diffstat (limited to 'src/libstd/sys')
0 files changed, 0 insertions, 0 deletions