HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Data-Oriented Demo: SOA, composition

Jonathan Blow1 HN recommender · recommended in 1 month, 2015-2020
YouTube
201K views · 11 years ago · demo · evergreen

A live-coded demo by Jonathan Blow showing how to get object-system-style expressiveness in a data-oriented way, covering structure-of-arrays layouts and composition. It shows features of his Jai language that make programs fast.

HN points to it as the practical demonstration of data-oriented design, including structure packing and switching between AOS and SOA.

Software architecture & designProgramming language designSoftware performance & optimization#jai#soavsaos#structurepacking#jonathanblow#performance

4 comments from Hacker News

@clucas2020 · in “Handles Are the Better Pointers (2018)”

Here is the demo video of the stuff zero_iq is talking about: ▶ this video Basically right on point with what the GP is saying.

CitesView on HN
@taliesinb2015 · in “The death of optimizing compilers [pdf]”

> I'm not aware of any general-purpose language where this is an option to any significant degree (silent AOS-to-SOA, hot-vs-cold data segregation, tree clustering, etc...) Not yet, of course, because it hasn't been released, but Jonathan Blow's Jai language offers transparent switching between AOS and SOA, as well as many other features that make it easy to explore the 'optimization space' of a program manually. ▶ this video (for those who don't know, Jonathan Blow was the creator of Braid)

CitesView on HN
@tomyws2015 · in “The Lost Art of C Structure Packing”

He gives a fantastic walkthrough on his approach to structure packing in the data-oriented demo[1]. [1] ▶ this video

Strongly recommendsView on HN
@agentultra2015 · in “An introduction to NoFlo and flow-based programming”

I think you're referring to confirmation bias which is related but not quite the same. Never the less I understand what you're getting at. I took it to mean that the kinds of problems a programmer encounters is not sufficiently random to properly determine the usefulness of a given language or "paradigm." Which may keep people from switching to new, better tools (or from trying them out at all). The data-oriented design thing is interesting and something I've heard come and go over the years. Check out: link and ▶ this video A video demonstration of Jai; a new compiler from Jonathan Blow designed around this paradigm. Cheers!

CitesView on HN
Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)46:40

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

ChimiChanga
415K views • 2 years ago
CppCon 2014: Mike Acton "Data-Oriented Design and C++"1:27:46

CppCon 2014: Mike Acton "Data-Oriented Design and C++"

CppCon
862K views • 12 years ago
"Clean" Code, Horrible Performance22:41

"Clean" Code, Horrible Performance

Molly Rocket
1.2M views • 3 years ago
Object-Oriented Programming is Bad44:35

Object-Oriented Programming is Bad

Brian Will
2.6M views • 10 years ago
Demo: Implicit Context1:01:40

Demo: Implicit Context

Jonathan Blow
28K views • 11 years ago
Demo: Base language, compile-time execution2:07:18

Demo: Base language, compile-time execution

Jonathan Blow
164K views • 12 years ago
Jonathan Blow - Jai Demo and Design Explanation (KEYNOTE) - Updated1:13:00

Jonathan Blow - Jai Demo and Design Explanation (KEYNOTE) - Updated

LambdaConf
241K views • 1 year ago
CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”1:00:46

CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”

CppCon
271K views • 8 years ago
The Forgotten Art of Structured Programming - Kevlin Henney [C++ on Sea 2019]1:29:27

The Forgotten Art of Structured Programming - Kevlin Henney [C++ on Sea 2019]

cpponsea
245K views • 7 years ago
Ideas about a new programming language for games.1:55:24

Ideas about a new programming language for games.

Jonathan Blow
530K views • 12 years ago
#Gamelab2018 - Jon Blow's Design decisions on creating Jai a new language for game programmers58:24

#Gamelab2018 - Jon Blow's Design decisions on creating Jai a new language for game programmers

Gamelab Conference
210K views • 8 years ago
Brian Goetz - Stewardship: the Sobering Parts1:03:31

Brian Goetz - Stewardship: the Sobering Parts

ClojureTV
39K views • 11 years ago
High-performance Tree Wrangling, the APL Way // Aaron Hsu // Dyalog '1830:37

High-performance Tree Wrangling, the APL Way // Aaron Hsu // Dyalog '18

Dyalog User Meetings
6K views • 7 years ago
Rust at speed — building a fast concurrent database52:54

Rust at speed — building a fast concurrent database

Jon Gjengset
225K views • 7 years ago
"Outperforming Imperative with Pure Functional Languages" by Richard Feldman34:55

"Outperforming Imperative with Pure Functional Languages" by Richard Feldman

Strange Loop Conference
98K views • 5 years ago
Reboot Develop 2017 - Jonathan Blow, Thekla Inc. / Making Game Programming Less Terrible1:02:49

Reboot Develop 2017 - Jonathan Blow, Thekla Inc. / Making Game Programming Less Terrible

Reboot Develop
112K views • 9 years ago
Alan Kay - Programming and Scaling56:39

Alan Kay - Programming and Scaling

Colin McDonnell
36K views • 11 years ago
"Type-Driven Program Synthesis" by Nadia Polikarpova39:40

"Type-Driven Program Synthesis" by Nadia Polikarpova

Strange Loop Conference
15K views • 8 years ago
code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care1:16:58

code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care

NOKIA Technology Center Wrocław
231K views • 11 years ago
On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]59:04

On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]

PapersWeLove
27K views • 7 years ago