DMD2 out parameters

Don nospam at nospam.com
Thu Dec 23 11:09:22 PST 2010


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!).


More information about the Digitalmars-d-learn mailing list