On Tuesday, 24 July 2012 at 19:42:34 UTC, David wrote:
I agree. I don't know how the CPU handles misaligned floats, but from what I understand, it will do two loads to fetch the two word-aligned parts of the float, and then assemble it together. This may be what's
causing the slowdown.


T


Remvoing the `align(1)` changes nothing, not 1ms slower or faster, unfortunately.


[quote]
[code]
 Vertex[] data;
 foreach(i; 0..6) {
data ~= Vertex(positions[i][0], positions[i][1], positions[i][2],
[/code]
[/quote]

Try using reserve? The new structure size looks like it's about 40 bytes, and aside from resizing I'm not sure why it would have issues.

[code]
 Vertex[] data;
 data.reserve(6); //following foreach...
[/code]

Reply via email to