awful.systems
  • Communities
  • Create Post
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
@fettuccinecode@programming.dev to Rust@programming.dev • 2 years ago

Object Soup is Made of Indexes

jacko.io

message-square
8
fedilink
18
external-link

Object Soup is Made of Indexes

jacko.io

@fettuccinecode@programming.dev to Rust@programming.dev • 2 years ago
message-square
8
fedilink
alert-triangle
You must log in or register to comment.
  • @Anders429@programming.dev
    link
    fedilink
    7•2 years ago

    If you want to go one step further, a lot of game development uses a generational index, where the index is both a value and a generation, allowing you to know whether the index you currently have stored references an object that has already been destroyed and replaced by another object. Basically every ECS framework I’ve ever seen uses this pattern.

    • huntrss
      link
      fedilink
      3•2 years ago

      Interesting. Can you provide a good link regarding generational index?

      • @Anders429@programming.dev
        link
        fedilink
        3•2 years ago

        I was originally introduced to the idea by this RustConf 2018 keynote: https://kyren.github.io/2018/09/14/rustconf-talk.html. It’s rather dense though.

        I did find this random article that outlines just the concept of generational indices pretty concisely: https://lucassardois.medium.com/generational-indices-guide-8e3c5f7fd594

        • huntrss
          link
          fedilink
          2•2 years ago

          Thanks

        • @oconnor663@programming.dev
          link
          fedilink
          2•2 years ago

          That same keynote is linked in the last paragraph! :) The slotmap crate is also one option for generational indexes.

          • @Anders429@programming.dev
            link
            fedilink
            1•2 years ago

            Ah, you’re right! Somehow I missed that, good catch.

  • Beej Jorgensen
    link
    fedilink
    7•2 years ago

    I like this approach for Rust in general when it comes to graphs. But it suffers from many of the same kinds of issues we get with pointers, e.g. dangling pointers, use after free, and so on. Tradeoffs!

  • @EthicalAI@beehaw.org
    link
    fedilink
    1•2 years ago

    This is exactly right and very educational

Rust@programming.dev

!rust@programming.dev

remote_follow_modal_title

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: !rust@programming.dev

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)
  • 9 users / day
  • 160 users / week
  • 328 users / month
  • 2.48K users / 6 months
  • 6.9K subscribers
  • 889 Posts
  • 3.82K Comments
  • Modlog
  • mods:
  • snowe
  • Ategon
  • EdTheLegendary
  • @kahnclusions@programming.dev
  • @torcherist@programming.dev
  • BE: 0.19.3
  • Modlog
  • Instances
  • Docs
  • Code
  • join-lemmy.org