You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
la_arena::Arena is currently a Vec, that is 3 words in size but usually stored in a frozen location. For Vecs we usually turn them into Box<[T]> when stored as those are only 2 words in size, we can't do that with Arena's though as we have no equivalent. It would be interesting to see if we can save a tiny bit of memory if we could. That means, we should check the places where we store Arena's in hot definitions (frequently used defs stored in queries), and also try to apply the vec -> box pattern in more places (a bunch still use Vecs as using this pattern requires splitting out a builder pattern that transform into the Box'd field form when finished)
The text was updated successfully, but these errors were encountered:
There's also ArenaMap that is Vec, but it is only in bodies source map and those aren't a big part of our memory usage (around 70mb for analysis-stats . for bodies & source maps).
la_arena::Arena
is currently aVec
, that is 3 words in size but usually stored in a frozen location. ForVec
s we usually turn them intoBox<[T]>
when stored as those are only 2 words in size, we can't do that withArena
's though as we have no equivalent. It would be interesting to see if we can save a tiny bit of memory if we could. That means, we should check the places where we store Arena's in hot definitions (frequently used defs stored in queries), and also try to apply the vec -> box pattern in more places (a bunch still use Vecs as using this pattern requires splitting out a builder pattern that transform into the Box'd field form when finished)The text was updated successfully, but these errors were encountered: