Attributes memory overhead

https://learninghub.kx.com/forums/topic/attributes-memory-overhead

Out of curiosity, can anyone explain the attributes overhead as explained in the Abridged Q Language Manual? Does anyone know what the 4*u+1 is? for parted and grouped? (I know the 4byte should be probably 8 bytes after 3.0)

example overhead
s#2 2 3 sorted 0 u#2 4 5 unique 16u
p#2 2 1 parted (4*u;16*u;4*u+1) g#2 1 2 grouped (4
u;16u;4u+1;4*n)

The byte overheads use n(number of elements) and u(number of uniques). These are used by lookups, e.g.

You might find this document useful: https://dataintellect.com/blog/adventure-in-retrieving-memory-size-of-kdb-object/ It covers the memory need of attributes.