Earlier quoted context omitted.
Who said stacks had to be contiguous and allocated ahead of time?
How would you manage non-contiguous stacks ? ie, how would you know (upon return) where is the caller's stack frame is ?
The "C is Efficient" Language Fallacy (2006)
131–133 of 133 posts
Re: The "C is Efficient" Language Fallacy (2006)
#132Earlier quoted context omitted.
Who said stacks had to be contiguous and allocated ahead of time?
How would you manage non-contiguous stacks ? ie, how would you know (upon return) where is the caller's stack frame is ?
So having a large stack will only consume virtual address space which we have plenty of (2^48 bytes in most x86_64's) but will not consume physical memory, which is a more limited resource.
Re: The "C is Efficient" Language Fallacy (2006)
#133Umm, yes C/C++ will not parallelize your code for you, whereas Language XYZ will. Im not sure how this is an argument against C/C++ being effective. C/C++ will not parallelize your code by design. It's was never meant to. I'd never blame my stick-shift car for not changing gears by itself - thats the first reason I didnt buy an automatic in the first place! If your matrix manupuilation code performance becomes an iss…
For the record, you should never be paying someone to tinker with and/or parallelize low-level matrix routines. The numerical linear algebra folks spend their entire careers thinking about this stuff and writing (FOSS) software to wring every last bit of performance out of the hardware. There are specialized suites for multicore, distributed and even GPU setups.
And so, generations of game developers write matrix multiplication code. With quite nice performance results.
It'd be nice to see if some of that performance intensive code would benefit from being written in fortran. Anybody up for porting box2d as a small test case? ;)