Re: TIMEOUT MERGE: move AlignedArray to public API



On Sat, 5 Jun 2010, Stefan Westerfeld wrote:

TIMEOUT MERGE TIMEOUT MERGE TIMEOUT MERGE TIMEOUT MERGE TIMEOUT MERGE

  Hi!

To be able to use SSE functions (like my fast sincos() implementation), the
caller has to ensure 16-byte alignment. AlignedArray does this in a fairly
elegant manner, but so far it was only used by the Resampler code. Since now
there are other pieces of code (like the SpectMorph Encoder) that need
16-byte-alignment (for calling SSE functions), here is a patch to move the
class to Birnet::AlignedArray.

Thinking of cache line trashing, shouldn't we strive for a
64-byte aligned array if we do this at all?
64-byte aligned memory blocks are generally used to
avoid false sharing. See:
	http://en.wikipedia.org/wiki/False_sharing


repo:   http://space.twc.de/public/git/stwbeast.git
branch: aligned-array

  Cu... Stefan
--
Stefan Westerfeld, Hamburg/Germany, http://space.twc.de/~stefan



Yours sincerely,
Tim Janik

---
http://lanedo.com/~timj/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]