this post was submitted on 25 Oct 2023
13 points (93.3% liked)

Rust

6041 readers
7 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
 

@rust Blog post: Mutable object trees in Rust, using memory arenas

https://radiki.dev/posts/mutable-cursor-dags-in-arenas-rust/

you are viewing a single comment's thread
view the rest of the comments
[–] rook@awful.systems 1 points 1 year ago* (last edited 1 year ago) (1 children)

If you don’t have a perf requirement like “all these things need to be in contiguous memory” then you probably don’t need a generational index anyway… it is effectively a weak reference, after all. ECS stores are optimised for repeatedly iterating over all the things, and games might have complex notions of “reachability”, but most things aren’t like that. There does seem to be a lot of “I don’t like using Rc RefCell” in object arena design that isn’t always justifiable, though nested generics don’t make for the most readable code in the world.

[–] lolcatnip@reddthat.com 0 points 1 year ago* (last edited 1 year ago)

I think we're more or less in agreement. I lean more towards leveraging language primitives when possible to get the most support from a compiler, but I'll happily acknowledge that there are no one-size-fits-all designs.