0:00
/
0:00

Paid episode

The full episode is only available to paid subscribers of Computer, Enhance!

Q&A #77 (2025-06-19)

Answers to questions from the last Q&A thread.

In each Q&A video, I answer questions from the comments on the previous Q&A video, which can be from any part of the course.

The questions addressed in this video are:

  • [00:02] “This is more of a learning personal project and I'm looking for something I can do that has a little bigger impact. Do you have some other tool/program/improvement you'd like to see but don't have the bandwidth to do yourself that you can share or just an avenue you'd like to see explored more that I could look into to produce something of value to other fellow programmers?”

  • [02:57] “Hey Casey, I posted a question about non-text programming languages and fear I was a little late on the Q&A cycle, Substack didn't send me an email for it :( , for the question to make it into this Q&A's rotation. I am still very curious what your thoughts about a non-text language are, or if you have talked about them before and have a link to those articles/videos!”

  • [03:51] “I wanted to know if you have already covered ‘False Sharing’ from a cache point of view and its impact on performance. If not, do you have any plans for it? Do you plan to also cover effects of NUMA on performance?”

  • [08:05] “I just rewatched your video on the GJK algorithm from 2006, and when you talk about the triangle case you say that, although there are six ifs and elses written down, you only ever execute three of them at most, so it's at most three tests and jumps. Since the logic only relies on dot products and cross products, I would assume that the multiplies and the adds would have a lesser impact on the performance compared to the penalty of mispredicting multiple branches so close to each other.

    Am I getting something wrong?”

  • [11:50] “According to you, what would be the impact of AI on performance aware programming? I mean, is it likely to become more common that organizations / individuals offload this task to sophisticated AI coding agents? I know its a very vague query with possibly no clear answers but just wanted to know what this community thinks about it.”

  • [17:34] “Hi Casey, I was working on a simple CSV reader to analyze some logs but I have many huge files and it takes a while. I wanted to try out Intel V Tune and it says that the code is mostly front-end bound and has 100% DSB misses. I was wondering what are those? Are they a problem? How can we solve them?”

  • [23:10] “Why is memory management so obscure, and why are people inventing so many languages to ( ostensibly ) fix that, while criticizing C for being unsafe? Why are use-after-free / double-free and so on, issues mentioned when talking about C being unsafe? In other words, why would I need to free memory, when I know exactly how much memory a program will ever need and I can keep on reusing it ( you can't know at a given time how much memory you need, but there is a limit, since you can't allocate infinite memory ).

    In real life, when we discover new concepts ( like in physics ) we don't invent a new language to explains those concepts in., instead, we improve our current language / language practices.
    No worries if you can't include everything from the msg in the Q&A.”

  • [29:33] “Hi Casey, before taking the course I would consider using SIMD instead of scalar operations and utilizing memory caches properly to be optimizations. But it seems like you prefer to think about them as a performance aware programming. Then I wonder what would be some concrete examples of optimizations? I just can't imagine something beyond that to get even more performance.”

  • [32:59] “Hello, does anybody have any idea why could there be a huge difference between reading a file to mmap'ed memory and malloc'ed memory on Linux, AMD Zen3 chip?”

The full video is for paid subscribers