On Monday, 20 April 2015 at 11:01:28 UTC, Panke wrote:
On Monday, 20 April 2015 at 09:41:09 UTC, bearophile wrote:
"Utilizing the other 80% of your system's performance: Starting with Vectorization" by Ulrich Drepper:

https://www.youtube.com/watch?v=DXPfE2jGqg0

It shows two still missing parts of the D type system: a way to define strongly typed byte alignments for arrays (something better than the aligned() shown here, because I prefer the alignment to be part of the type), and a way to tell the type system that some array slices are fully distinct (the __restrict seen here, I think this information doesn't need to be part of a type).

Bye,
bearophile

Aren't unaligned loads as fast as aligned loads on modern x86?

No that's not true. On modern x86 processors using unaligned loading instructions on aligned data does not incur additional overhead, therefore you can always use unaligned load for everything, but loading unaligned data is still slower than aligned data.

Reply via email to