this post was submitted on 12 Nov 2025
36 points (100.0% liked)

Programming

23517 readers
277 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
 

The description listed a mirror of this video on Vimeo, but I'm not sure if it's still accessible as I have no access to Vimeo here: https://vimeo.com/649009599

Recently I discovered something called data-oriented design and I thought it was such a brilliant concept. Here are other references I recommend:

you are viewing a single comment's thread
view the rest of the comments
[โ€“] onlinepersona@programming.dev 2 points 1 week ago (1 children)

Yeah, the second he started talking about computer architecture, I thought "he's going to align the data and keep it close to each in memory for better caching and faster access, isn't he?".

At the moment, it looks like an interesting way to optimise an existing program. I'm not sure if thinking about it right from the beginning will speed up programming as, IMO, first something functional has to be written with somewhat good architecture, then the architecture improved to make sense and more features added, and once a v1 exists that's satisfactory, then optimisation starts.

Maybe I'm wrong though and this is something that can be considered from the getgo, but it feels more like a latestage kind of thing. Some if it can definitely be taken care of by the compiler and the developer made aware of with warnings.

[โ€“] calcopiritus@lemmy.world 1 points 1 week ago

It's not one thing or the other.

For example I often end up using event loops. Where an event is a tagged union. Some events take up 1 byte, some 400. It's almost effortless to put the big variants in the heap, and just keep a pointer in the union. So why not do it from the start.

Sure, optimizing every loop to make it vectorizable is probably not worth it, since that loop you wrote on the 10th commit might not even exist when the software is released. But there are many low hanging fruit.

Also, some optimizations require a very specific software architecture. Turning all your arrays of structs into structs of arrays may be a pain if you didn't plan for making that switch.