To kbw: mm i'think NUMA is a too advanced concept for my amateur programming.
Yeah, you are right, no magic bullet :/ btw in a raycasting scenario multithreading is very good because you render a vertical line at time and each one is pefectly indipendently rendered, calculated, frome the others.
I'm wondering if there's an easy way to "split" a function (render vertical lines from 0 to screenwidth/2 and from screenwidth/2 to widthscreen) even if the function uses only global variables, i don't think so, that's why global variables are for: if there is one "global_variable" you can simply create another one identical, there will be 2 of the same "global_variable".
(Hope i'm expleining myself enough ahaha!)
To mbozzi: mm i already know it, what i mean for "harmul" is: suppose i perform a simple code, something like
1 2 3 4 5 6 7
|
int x;
WHILE (true)
{
for (int i = 0; i < 1000000; i++)
x = i;
}
|
That code, which is in loop, will will performe the same identical code over and over, and that means that the "transistor and wires" used are always the same.. it's like walking always on the same part of a carpet, it will be under a more stress and will deteriorate sooner than a normal distibute use, right?
I know i'm practically talking about CPU architectures and its logic to perform code, which i know nothin at all, but that it's what i was worried about the most.
The example case still fashinate me, but i've noticed that a lot of my code uses different input numbers, so it's not using the same "transistors and wires".
Do you know any section of this forum, or other forums, that is possible to talk about this "architecture and code" arguments? :)