In the columnar format
<https://arrow.apache.org/docs/format/Columnar.html> doc,
it is noted that buffers ought to be allocated such that they're 64 byte
aligned and padded. It is also noted that this allows the use of compiler
options such as -qopt-assume-safe-padding. However, my understanding
of -qopt-assume-safe-padding is that all heap allocations need to be 64
byte aligned and padded. Is this consistent with the use of
std::make_shared?  Perhaps I'm missing something, but it looks like there
are many heap allocations throughout the cpp code that are not 64 byte
aligned and padded. Is it the intention that only the columnar buffer data
be aligned and padded. If yes, then does the use of std::make_shared make
use of -qopt-assume-safe-padding not possible?

Reply via email to