mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 12:21:58 +00:00
Same as #3550. `Rc<T>` is already a reference, so instead of passing an `&Rc<T>` to a function and then `Rc::clone()` it in the function, it's better to clone it first and pass `Rc<T>` to the function. `Rc<T>` and `&Rc<T>` are both 8 bytes, so it introduces no additional overhead to the function call, and reduces indirection. This is a very small optimization. Am only submitting these changes for purpose of code tidying - making the patterns around `Rc` consistent and optimal throughout the codebase. We should probably look if we can remove some of these `Rc`s entirely and replace them with plain `&` refs. I suspect `Rc` is not actually required in most places and we're only using it to avoid dealing with lifetimes, but it's sub-optimal as `Rc::clone` has a cost, whereas copying a `&` ref has none. |
||
|---|---|---|
| .. | ||
| examples | ||
| src | ||
| tests/integration | ||
| Cargo.toml | ||
| CHANGELOG.md | ||