Pete wrote:
Ok, i've done some more investigating and it appears that in DMD2 a float NaN is
0x7FE00000 (in dword format) but when it initialises a float 'out' parameter it
initialises it with 0x7FA00000H. This causes an FPU trap which is where the time
is going. This looks like a bug to me. Can anyone confirm?

Thanks.

Yes, it sounds like a NaN-related peformance issue. Note, though, that the slowdown you experience is processor-model specific. It's a penalty of ~250 cycles on a Pentium 4 with x87 instructions, but zero cycles on many other processors. (in fact, it's also zero cycles with SSE on Pentium 4!).

Reply via email to