[Numpy-discussion] Non-numerical info associated with sub-arrays
falted at openlc.org
Sat Dec 28 17:00:02 CST 2002
Mensaje citado por: Perry Greenfield <perry at stsci.edu>:
> Are you asking for an option to create record arrays with
> aligned fields (in the sense that the addresses of all values
> are consistent with their type)?
Yes, I'm advocating for that
> Or are you arguing that
> non-aligned columns must be prohibited? The former is certainly
> possible (not not very difficult to implement; basically it requires
> that record sizes must be a multiple of the largest numerical type,
> and that padding is placed within records to ensure that all fields
> have offsets that are a multiple of their size).
Well, for the sake of keeping the size of dataset to a minimum, I think it's
not necessary to adjust all the record field sizes to the largest data type
because depending on the type of the field, the padding can be shorter or
For example, short ints only needs to be aligned in two-byte basis, while
doubles need 4 bytes (or 8, I don't remember well). In any case, this depends
on the architecture. But it is still possible to figure out safely what is the
required minimum alignments for the different types. Look at Python's struct
module for a good example on how you can reduce the padding to a minimum,
without sacrificing performance.
More information about the Numpy-discussion