[patch] Use unaligned access on x86_64

Rafael Espíndola rafael.espindola@gmail.com
Mon Apr 27 19:09:00 GMT 2015


I tested this on my linux workstation with a debug build of clang. The
results are still very interesting.

The perf logs are attached.

Cheers,
Rafael


On 24 April 2015 at 10:54, Rafael Espíndola <rafael.espindola@gmail.com> wrote:
> Hi,
>
> x86_64 has exquisite support for unaligned loads. It is a shame not to use it.
>
> The attached patch avoids aligning archive members on x86_64. The
> results when linking clang are very interesting:
>
> * massif reports that the malloc memory usage goes from 331,295,192
> bytes to just 133,415,136 bytes.
>
> * the linking time (30 runs average) goes from
>
> 1.310065610 seconds time elapsed ( +-  0.19% )
>
> to
>
> 1.162564763 seconds time elapsed ( +-  0.14% )
>
>
> Cheers,
> Rafael
>
>
> 2015-04-24  Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
>
> * fileread.cc (find_or_make_view): Don't align on x86_64.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: master.log
Type: text/x-log
Size: 6369 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20150427/cb5019c0/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.log
Type: text/x-log
Size: 6368 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20150427/cb5019c0/attachment-0001.bin>


More information about the Binutils mailing list