|Posted : Tuesday, 20 December 2011, 04:01|
|Now with a new graph!|
Notice the spikes that appear in the benchmarks.
Looking at the Unsigned Char benchmark, the first spike occurs at an array width of 1024. Squaring this value gives an array size of 1024x1024 bytes, or one megabyte. This is the exact size of my CPU's Level 2 Cache! (Yes, my computer is old!). Therefore, it is reasonable to assume that these spikes correlate to cache sizes.
|Posted : Wednesday, 21 December 2011, 17:12|
I use arrays EVERYWHERE, so things like this are interesting to me.
I say that... I rarely give a crap.. But on slower systems like DS Homebrew, it's these little tidbits that let you throw the most into a game, and get something half-working out the other side.
For a long long time I've given up on "proper" multidimensional arrays, instead opting for the array[(y*limit)+x] approach.
I'm sure the extra chunk of maths doesn't actually help in that respect..
|Posted : Thursday, 22 December 2011, 20:05|
|IIRC from my old 8-bit BASIC days, it depends on the implementation of multi-dimensional arrays which is faster.|
|Posted : Friday, 23 December 2011, 03:13|
|Yup, Fortan and MATLAB are big exceptions|