I remember having seen somewhere an argument that stated that static vectors were stored sequentially (contiguously) in an array of such vectors. No pointers were stored, the data itself. Would anyone remember where to find this?
1 Like
Immutable isbits
struct and tuple data are always stored inline in arrays.
3 Likes
While I don’t have a source for you, this is true of any struct
that stores data for which isbits(data) == true
, not just static arrays, and if you construct a static array where the eltype is not isbits
, i.e. an abstract eltype, then it won’t be stored inline.
As of julia 1.4, struct with fields that are a union of isbits
types will also be stored inline. The source this can be seen here: julia/NEWS.md at v1.4.0 · JuliaLang/julia · GitHub
3 Likes