0

How to determine if a memory organization follows a row-major order or column-major order? I learned this new concept and got to know that if we know what a memory organization follows a row-major order or column-major order , we can make our array run in such a way that the performance of code increases by decreasing the number of page faults. But I am not able to find out "How to determine if a memory organization follows a row-major order or column-major order?".

1 Answers1

1

It depends, to some extent, on the language you use... which you didn't state.

You can test by creating a 2-row 3-column array and assuming it will be stored in row-major order, then checking. So create this:

0 1 2
3 4 5

Now look at the bytes in memory. If they go:

0 1 2 3 4 5

it is in row-major order. If they go:

0 3 1 4 2 5

your program uses column-major order.

Normally, C uses row-major ordering and fortran uses column-major ordering. I said it depends "to some extent" because with Python, for example, you can specify either ordering and even mix them on a case-by-case basis in the same program.

Mark Setchell
  • 191,897
  • 31
  • 273
  • 432
  • Actually I didn't know that it depends on the language that's why I didn't specify it. Anyway, I was learning this concept as a generalized form. Thanks much! It helped. – Vineesh Gupta May 16 '20 at 11:59