dtolnay / dtolnay/proc-macro2

Consider using an RcVec type that collocates reference count with vector elements

Open
#336 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
934
Forks
135
PR merge metrics
No merged PRs in 30d

Description

As of #335, `TokenStream` is `Rc>`. This makes twice as many allocations as it should, because there's one that holds {strong count, weak count, data ptr, length, capacity} and a different one that holds the vector elements.

Let's look into putting these all into one allocation (except omit weak count, which we do not use) and see how it affects `cargo bench --bench file --features full,parsing,test` in syn.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.