On Thu, Nov 28, 2019 at 3:24 PM Gordan Bobic <gordan.bo...@gmail.com> wrote:
> For what it's worth, unaligned access does come with a performance penalty, 
> typically somewhere in the 1-10% range on x86, depending on the generation of 
> chip used. It has been _mostly_ mitigated on recent x86 chips, and IIRC 
> Intel's C compiler does have an option to align all structs and arrays to a 
> 16 byte boundary.

Yes, there is overhead, and there are some unfortunate design choices
(or problems) with the InnoDB page format. Luckily, most page header
and footer fields are reasonably aligned.

> I would be very interested to see some tests data on unalighed access cost on 
> various aarch64 chips. On various 32-bit ARM chips (including those >= ARMv6) 
> the unaligned access performance hit was quite dramatic.

I wonder if the unaligned access could ever end up costing more than
the instruction decoding overhead for implementing multi-byte access
via single-byte operations. (In the past, when unaligned access could
have been supported by an interrupt to the operating system, like
Digital UNIX on the Alpha, I could easily believe it. But, now we are
talking about hardware-supported unaligned access.)

Marko
-- 
Marko Mäkelä, Lead Developer InnoDB
MariaDB Corporation

_______________________________________________
Mailing list: https://launchpad.net/~maria-discuss
Post to     : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to