About memory pressure, lock contention, and Data-oriented Design

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 18K elem/s to 1.4M elem/s)! I will talk about how the different memories work, how we want to make the CPU caches happy, and how we can workaround locks when they are a performance bottleneck.

mnt.io

📣 New blog post

About memory pressure, lock contention, and Data-oriented Design, https://mnt.io/articles/about-memory-pressure-lock-contention-and-data-oriented-design/.

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

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.

🔗 https://www.the-main-thread.com/p/data-oriented-programming-java-quarkus

#Java #Quarkus #SoftwareArchitecture #DataOrientedDesign

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.

👉 https://www.the-main-thread.com/p/event-sourcing-quarkus-java-records-cqrs-tutorial

#Java #Quarkus #EventSourcing #CQRS #DataOrientedDesign

#MoonBit looks like a really interesting new #ProgrammingLanguage  

https://www.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

MoonBit

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

https://www.youtube.com/watch?v=1dY57CDxR14

#Java #OOP #DataOrientedDesign

Where is the Java language going? #JavaOne

YouTube

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

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

#DataOrientedDesign #performance #optimisation

Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)

YouTube

Andrew Kelley - Practical #DOD

https://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.  

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

#DataOrientedDesign #Performance #SoftwareEngineering #RustLang

Andrew Kelley - Practical DOD

Vimeo

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.

https://youtu.be/IroPQ150F6c

But now I'm interested because after some …

[1/2]

- YouTube

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.