2 ms·
I'll add 5: Split application into logic(branches, special-case, and all the gnarly stuff that CPUs don't like) and data processing(nice structured data that f
by vvanders 11y ago
I'll add 5:
Split application into logic(branches, special-case, and all the gnarly stuff that CPUs don't like) and data processing(nice structured data that fits well into memory). This is essentially what Sony did on the PS3, and made for a very fast system. They just did a poor job of messaging it ahead to devs who were familiar with n-core systems.
That way you can speed up the things that need to be fast and the slow stuff doesn't interfere with it. We aren't going to see any fundamental shifts in memory tech so I think this is the best mitigating solution.
Relational Databases already kinda nail the structured part to a degree, I think where we fall over is mixing logic with the data we want to process.
There's also a continuum of prototyping -> high performance that gets missed in some of these discussions. If I want to see if something works I can knock out a quick prototype in JS but if I want to ship a performant, solid product I'm going to use Rust/C++/etc.