I recently ran UBSan over parquet and arrow code bases and there are quite a few unaligned pointer warnings (we do reinterpret casts on integer types without checking alignment). Most of them are in Arrow itself, which parquet calls into.
Is this something the community would like to fix? I imagine adding a helper method something like: template<T> T LoadUnaligned(T* pointer_to_t) { T aligned; memcpy(&aligned, t, sizeof(T)); return aligned; } I believe clang/GCC/MSVC should be good enough to recognize that an unaligned load can replace the memcpy and inline it. But hopefully archery will be able to catch any performance regressions if this isn't the case. Thoughts? Thanks, Micah