109 karma · joined September 27, 2026
"Comparing an integer to zero is sometimes more efficient than comparing it to any other number. Therefore, it is slightly more efficient to make a loop count down to zero than to make it count up to some positive value, n. But not if the loop counter is used as an array index. The data cache is optimized for accessing arrays forwards, not backwards."
Yet that text was written for older CPUs. Modern CPUs are better at prefetching backwards access patterns, but if you try a microbenchmark with backwards array traversal, you may get misleading results.
It's like checking for overflow in an arithmetic operation. Other languages do the checking, and that's why they're slower. But C++ doesn't check because it offloads the responsibility to the coder, so the coder can write faster code if he makes sure there are no bugs.
If the coder knows there will be four return values and writes them one after the other, the return (or MOV) instructions are distanced the same. The goto hack should work.
Falsely claiming to represent a group of people is fraud, and fraud is a crime, even if the speaker is a member of the group he claims to represent.
Sure, DLSS uses game engine information, such as motion vectors and depth, which is unavailable for video. But neural networks can estimate motion directly from video frames and interpolate without that information. Providing additional data to fix artifacts would cost little.
It also says not to use `for (i >= 0)` because any unsigned integer is >= 0, and the loop will never end.
Who gave these people the right to speak on behalf of "the Kogui people"? Nobody.
Even if the speaker were himself Kogui, he would only speak for himself. He wasn't an elected president or ambassador for the Kogui.
I'm kind of sad that all those algorithms have become obsolete, but at the same time, I'm happy that integer division has finally become fast enough in hardware.
Bjarne Stroustrup's criterion for language design is that C++ is an abstraction in itself over writing in assembly, and the language design should not get in the way by introducing overhead costs. C++ should allow the programmer to express their intent without losing performance relative to assembly, and it fails in this case due to undefined behavior.
So when the compiler doesn't let you implement your low-level code, it is a failure of the language and compiler relative to the design criteria of C++.
Not that exact quote, but the spirit of it at 44:22.
https://youtu.be/uTxRF5ag27A?t=2662
Quote: "A zero-overhead principle. It basically says that if you have an abstraction, it should not cost anything compared to writing the equivalent code at a lower level."
The latest models require repeatedly disassembling the sandwich from both sides. You have to remove the keyboard to access a screw, open the bottom, remove another screw to lift the top, then go back and forth between both sides just to reach a fan that frequently gets clogged with dust and needs frequent, regular cleaning.
Even worse, the unavoidable cleaning voids the warranty.
Yes, 128 bytes. Used for code, data, video, and everything else.
(But it can address 64 KB)
It is so primitive that it is unable to multiply integers. If you want to multiply, you have to write your own algorithm.
It showed a chart of brain weight relative to body weight, and birds had a much higher ratio than any other animal group. Primates were on the same curve, which wasn't shared with any other mammalian group. Primates were literally on the avian curve.
But I don't remember where I saw that. I searched for it on Google and found nothing.