Episode #461 from 2:43:42
Performance
Yeah. Actually, I saw Dave Plummer's testing of close to 100 languages for speed, and Zig came out on top. That was a mistake. I mean, when I say mistake, nothing against Dave Plummer. He's an extremely talented engineer. It's just that Zig, C, C++, all those languages that were being tested, they're all LLVM backends, right? That's the one that actually turns the thing into the executable part. And if there's a variation in speed, it just means in one language you didn't quite express what you are supposed to correctly. There's the language ball test that's been bouncing around on Twitter. Zig was like sixth or seventh below I forget what language it is. I played around with the example, added the word "no alias" to the argument, which means that the piece of memory that's coming into this function, there's no global pointers, there's nothing to it, and so the compiler can make these really cool optimizations. And I made it faster than the C version. So it just means that it's just not correctly specified is all that means.
Why this moment matters
Yeah. Actually, I saw Dave Plummer's testing of close to 100 languages for speed, and Zig came out on top. That was a mistake. I mean, when I say mistake, nothing against Dave Plummer. He's an extremely talented engineer. It's just that Zig, C, C++, all those languages that were being tested, they're all LLVM backends, right? That's the one that actually turns the thing into the executable part. And if there's a variation in speed, it just means in one language you didn't quite express what you are supposed to correctly. There's the language ball test that's been bouncing around on Twitter. Zig was like sixth or seventh below I forget what language it is. I played around with the example, added the word "no alias" to the argument, which means that the piece of memory that's coming into this function, there's no global pointers, there's nothing to it, and so the compiler can make these really cool optimizations. And I made it faster than the C version. So it just means that it's just not correctly specified is all that means.