#DataOrientedDesign

Jan :rust: :ferris:janriemer@floss.social
2025-05-11

#MoonBit looks like a really interesting new #ProgrammingLanguage :awesome:

moonbitlang.com/

Especially its functional, data-oriented design and #WASM support stand out to me.

Looks _a lot_ like #Rust, but more functional in style. ✨

It is expected to reach 1.0 this year. 👀

#FunctionalProgramming #RustLang #MoonBitLang #DoD #DataOrientedDesign

Juan C Nunojuancnuno
2025-04-27

I've been programming professionally for almost thirty years. I'm a fan of OOP; it has served me very well.

Java has been making a lot of changes and at first I didn't see the point. Why use sealed classes and pattern matching when a good ol' object hierarchy would do the job?

I discovered "data oriented design", how it's the "opposite" of OOP, and am starting to grasp when it'd make more sense

youtube.com/watch?v=1dY57CDxR14

Jan :rust: :ferris:janriemer@floss.social
2025-01-16

All these "state management" solutions of the "modern web" like #Redux, Zustand or whatever try to solve state management in UI apps by introducing unfathomable amount of complexity...

...when in reality all you need is #Bevy's #ECS. ¯\_(ツ)_/¯

#GUI #UI #StateManagement #DataOrientedDesign #DoD

Ivan Enderlin 🦀hywan@fosstodon.org
2024-12-10

Practical Data-oriented Design, youtube.com/watch?v=IroPQ150F6 by @andrewrk. That's an amazing talk, with concrete examples on the Zig compiler.

#DataOrientedDesign #performance #optimisation

A slide of the talk showing that changing the struct layouts for 2 types has improved the cache misses by 15%, executed instructions by 28%, the total CPU cycles by 26% and the wall clock time by 22%.A slide of the talk showing that changing the struct layouts for a few types has improved the cache misses by 53%, executed instructions by 23%, the total CPU cycles by 41%, the wall clock time by 39%, and peak memory usage by 40%.
Jan :rust: :ferris:janriemer@floss.social
2024-09-03

Andrew Kelley - Practical #DOD

vimeo.com/649009599

In this #talk, Andrew Kelley (creator of #ZigLang), presents how they've sped up the #Zig #compiler and significantly reduced its memory usage by applying data-oriented design for the compiler's data structures.

A phenomenal talk! I highly recommend it. :awesome:

#SoA crate for #Rust (I found the talk linked in the README):
github.com/tim-harding/soa-rs

#DataOrientedDesign #Performance #SoftwareEngineering #RustLang

2024-07-22

Hi #PHP Community, I just came across a talk about #DataOrientedDesign and #MemoryAlignment during my lunch break. I'm familiar with the concept in Golang and C projects and I've always designed my structs accordingly. I am currently working in a PHP environment and since performance and low memory footprints are never really requirements here anyway, I haven't pursued memory alignment any further for the time being.

youtu.be/IroPQ150F6c

But now I'm interested because after some …

[1/2]

Jan :rust: :ferris:janriemer@floss.social
2024-01-27
Jan :rust: :ferris:janriemer@floss.social
2024-01-01

Software engineers should really look more into #ECS and #DataOrientedDesign architecture when designing software. This is especially useful in software systems written in #Rust.

It is mostly used in #GameEngine's, most notably in #Bevy #BevyEngine, but is very useful outside of #GameDev, too.

It all comes down to this:
- separate data from behaviour
- favor composition over inheritance

It's the antidote to #OOP.

#RustLang

1/2

2023-10-08

If I ever start blogging, my first blog posts will be about how #ObjectOrientedProgramming solves real problems to shut up the #DataOrientedDesign crowd.

#DOD people often don't distinguish between #OOP and #CleanCode, don't understand their principles or how they are applied in practice. They often come from a small subset of the industry (games, embedded, ...) and have never been exposed to the more common enterprise apps that provide functionality to non-technical end users. #programming

2023-09-24

Hey folks, do you know good resources about "Data Oriented Programming"?

I think I might be doing something like that already but in an informal, perhaps empirically intuitive way, I caught a glimpse of the concept and I got more interested in, if you have something to share about it it would be nice!

#softwaredevelopment #dataorienteddesign #programming #softwaredev #softwaredesign

badtuplebadtuple
2023-07-25

Do people have examples of Entity Component Systems used outside of games?

If you squint, relational/columnar DBs line up data wise (though the System analogy is fuzzier). Data Frame style tools inspired by APLs sort of fuzzy match as well.

Curious if anyone knows other ECS or quasi-ECS patterns in real software. Especially if you built it and have opinions!

(Boosts welcome! plz forgive the hashtag spam: )

#DataOrientedDesign
When you start with a bucket full of crap, just emptying it out is an improvement.

primevideotech.com/video-strea

The bit that made me spit coffee was:

"To reduce computationally expensive video conversion jobs, we built a microservice that splits videos into frames and temporarily uploads images to an S3 bucket."

Wow. Just wow. Now, in Mike Acton speak: "Get the clowns out of the car."

SethDetroit 🥰➳HandmadeSeattlesethdetroit@mastodon.gamedev.place
2022-11-23

@ghostRadioGames I think you should have let it live until the end of the world.exe. Who are you to Delete()? #dataorienteddesign

रञ्जित (Ranjit Mathew)rmathew
2021-07-03
2018-01-22

While experimenting with #dataorienteddesign, I managed to make a rewind tool that enables me to pause the game, come back a few seconds ago, and display the data of every component in the scene. It's gonna be priceless for debug ! mastodon.gamedev.place/media/e

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst