The mythological idea of them just appearing out of nowhere is nice too. Makes it feel aligned with something like the pyramids having no explanation
1,962 karma · joined January 28, 2018
The mythological idea of them just appearing out of nowhere is nice too. Makes it feel aligned with something like the pyramids having no explanation
It boggles me we completely forgot that the world operated like this just 4 years ago
The next step of going SOA benefits from all of the above, it just further unlocks you packed quad and oct instructions (AVX256 and 512 depending if you buy AMD or not).
A quick restrict example:
#define fn __attribute__((used))
fn void copy1(int* to, const int* from, const int size)
{
for(int i = 0; i < size; i++)
to[i] = from[i];
}
fn void copy2(int* to, const int* from)
{
constexpr int size = 1024;
for(int i = 0; i < size; i++)
to[i] = from[i];
}
fn void copy3(int* restrict to, const int* restrict from)
{
constexpr int size = 1024;
for(int i = 0; i < size; i++)
to[i] = from[i];
}
gcc test.c -c -O3 && objdump -d ./test.o
copy1 is 52 lines, copy2 is 28 lines, copy3 is 2 lines (just a call to memcpy).This is a good starting point for self teaching. The impact of your TLB, L1, and overall instruction count (with IPC) can further be measured with `./perf stat -d -d -d ./a.out`. If you want a quick rule of thumb, no instructions are fast instructions.
Engineering needs to be failure free, or at least failure preventive via redundancy, and the latter requires the same full systems understands as the former
A recent example: https://glouw.com/2026/08/14/Ensim5.html
You're facing strict requirements for fundamentals in 3 independent axis. If there's recommendation to anyone looking to "write code" today, its to specialize in a field where software (or firmware) is applied to a hard engineering domain. This has been common advice since 2010 [1], long before LLMs:
"People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines."
So yes, fuck it, make it anyway, so that you can continue to exist and provide the communicative, engineering, and reasoning value that others still need from you.
We even have our Herb Sutter: Jens Gustedt
#define len(x) sizeof(x) / sizeof(*x)
Is arguably the feature I've waited for for 20 years