Clang warnings in itemrepository.h: cast from 'char *' to ... increases required alignment
steffen.ohrendorf at gmx.de
Sat Aug 3 23:49:51 UTC 2013
Am Sonntag, 4. August 2013, 01:40:19 schrieb Milian Wolff:
> Still, isn't the issue that clang warns us about here relevant? Sure, we
> don't run on ARM hardware anyways, but besides that? Should one fix
> anything here?
Aligned memory improves memory access speed as the memory controller doesn't
need to hazzle with 4-byte (on x86) or even 8-byte (x64) chunks that often.
Additionally, I think most CPUs/on-chip-caches have optimizations for aligned
memory, and even the run-time has such optimizations which might not trigger
on non-aligned memory, and chances are there that some implementations do not
check for non-aligned pointers.
A solution would be to do a memcpy at load time and let the memory manager do
a proper alignment. From your statement of a 1-to-1-memdump, this would only
affect the loading code, not the code involved in saving the data.
More information about the KDevelop-devel