home.social

#dataorienteddesign — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #dataorienteddesign, aggregated by home.social.

  1. @chakie Sure! #ECS is often highly related to #DataOrientedDesign:

    github.com/dbartolini/data-ori

    It's a different way to structure your data, so it can be completely decoupled from games (it often fits very well with games, though).

    See also Entity Component System FAQ (not #Bevy-specific):
    github.com/SanderMertens/ecs-f

    For example, I'm currently building a tree data structure with Bevy ECS (use case is an "interpreter" - nothing game-related at all).

    Bevy ECS:
    docs.rs/bevy_ecs/latest/bevy_e

    1/2

    #Rust #DoD

  2. @chakie Sure! #ECS is often highly related to #DataOrientedDesign:

    github.com/dbartolini/data-ori

    It's a different way to structure your data, so it can be completely decoupled from games (it often fits very well with games, though).

    See also Entity Component System FAQ (not #Bevy-specific):
    github.com/SanderMertens/ecs-f

    For example, I'm currently building a tree data structure with Bevy ECS (use case is an "interpreter" - nothing game-related at all).

    Bevy ECS:
    docs.rs/bevy_ecs/latest/bevy_e

    1/2

    #Rust #DoD

  3. @chakie Sure! #ECS is often highly related to #DataOrientedDesign:

    github.com/dbartolini/data-ori

    It's a different way to structure your data, so it can be completely decoupled from games (it often fits very well with games, though).

    See also Entity Component System FAQ (not #Bevy-specific):
    github.com/SanderMertens/ecs-f

    For example, I'm currently building a tree data structure with Bevy ECS (use case is an "interpreter" - nothing game-related at all).

    Bevy ECS:
    docs.rs/bevy_ecs/latest/bevy_e

    1/2

    #Rust #DoD

  4. @chakie Sure! #ECS is often highly related to #DataOrientedDesign:

    github.com/dbartolini/data-ori

    It's a different way to structure your data, so it can be completely decoupled from games (it often fits very well with games, though).

    See also Entity Component System FAQ (not #Bevy-specific):
    github.com/SanderMertens/ecs-f

    For example, I'm currently building a tree data structure with Bevy ECS (use case is an "interpreter" - nothing game-related at all).

    Bevy ECS:
    docs.rs/bevy_ecs/latest/bevy_e

    1/2

    #Rust #DoD

  5. I had a crazy dream in which PHP 9 had been released, so I changed my PHP classes to align in memory and optimised the hell out of my code. Then I woke up and realised that PHP 9 doesn't exist and PHP is still heap-only

    🥲 so sad...

    #PHP #DoD #DataOrientedDesign

  6. 📣 New blog post

    About memory pressure, lock contention, and Data-oriented Design, mnt.io/articles/about-memory-p.

    I illustrate how Data-oriented Design helped to remove annoying memory pressure and lock contention in multiple sorters used in the Matrix Rust SDK. It has improved the execution by 98.7% (53ms to 676µs) and the throughput by 7718.5% (from 18Kelem/s to 1.4Melem/s)!

    #performance #RustLang #memory #lock #DataOrientedDesign

  7. Most Java applications carry a service layer by default.
    Often without questioning why.

    In this hands-on Quarkus tutorial, I build a complete Order API without services.
    Business logic lives in pure functions.
    All outcomes are modeled explicitly with records and sealed types.

    Less indirection.
    Better tests.
    Clearer code.

    🔗 the-main-thread.com/p/data-ori

    #Java #Quarkus #SoftwareArchitecture #DataOrientedDesign

  8. I broke down Event Sourcing in Quarkus using Java records, sealed types, pure functions, and a clean CQRS split.

    Fully hands-on. No magic. Just data, folds, and clear architecture.
    If you want to understand event sourcing without the hype, this one is for you.

    👉 the-main-thread.com/p/event-so

    #Java #Quarkus #EventSourcing #CQRS #DataOrientedDesign

  9. #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

  10. 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

    #Java #OOP #DataOrientedDesign

  11. 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

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

  13. 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

  14. 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]

  15. 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

  16. 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

  17. 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 #programming #performance #gamedev #code #rust #software )