Skip to content
HHackerTube.videoSurprise me

Data-Oriented Demo: SOA, composition

Data-Oriented Demo: SOA, composition on HackerTube: recommended by 1 Hacker News commenter across 1 month, 2015–2020.

Jonathan Blow

demo · advanced · evergreen

Open on YouTube

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.

Why Hacker News recommends it

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

people recommended it
1
separate months
1
strong recommendations
1
discussed on HN
2015–2020
“He gives a fantastic walkthrough on his approach to structure packing in the data-oriented demo[1].”
— tomyws, Feb 2015, in “The Lost Art of C Structure Packing”

What HN commenters said

4 Hacker News comments link this video. Each one links back to its thread.

tomywsFeb 2015Strongly recommends

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

in “The Lost Art of C Structure Packing” · View on HN

clucasAug 2020Cites it

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.

in “Handles Are the Better Pointers (2018)” · View on HN

taliesinbApr 2015Cites it

> 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)

in “The death of optimizing compilers [pdf]” · View on HN

agentultraFeb 2015Cites it

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!

in “An introduction to NoFlo and flow-based programming” · View on HN

Topics & tags