Talk:Row- and column-major order

Latest comment: 10 months ago by 66.248.248.1 in topic Python uses Iliffe

incomplete why important

edit

The three important reasons for knowing whether a particular computer language compiler are row-major or column major: 1. most common is that the graphics adapter memory order has to be matched to main memory array order, or, at the least, performance suffers because the the data has to move just one cell (oe even pixel) at time if mismatched, otherwise large block moves can work. 2. Since IBM 360 (c. 1960) (which has 4K pages), it is best if the fastest varying subscript is to contiguous memory. This also applies to VAX (c 1985) with a page size of 128, and current (c. 2021) Intel offering with page sizes of 4 or 8k. 3. The least important reason is cross language work. (c1970) one of the points of comparison between compilers and languages was row versus column ordering of arrays, though it mostly showed up in one language writing a file then a different language trying to read back the array. Many current compiler offerings don't even document since row-major order is generally assumed.

  I find it a bit odd that COBOL and RPG are not mentioned nor is SQL, even though FORTRAN IV and PL/I are.

Python uses Iliffe

edit

The section claims Python stores lists of lists. But in fact python stores in Iliffe format, because python lists are arrays/vectors of pointers, not linked lists. Not sure how to properly cite this because there's no python spec. — Preceding unsigned comment added by 66.248.248.1 (talk) 20:24, 7 February 2024 (UTC)Reply

[1] [2] [3] 2603:8001:D00:BAB8:7804:EFB3:9E43:6601 (talk) 21:53, 21 November 2021 (UTC)Reply

References

  1. ^ COMPUTER WORLD (monthly)
  2. ^ Communications of the ACM (monthly)
  3. ^ IBM GCxxxxxxxx various s/370 language and programmer manuals c.1976