|
![](/i/fill.gif) |
Ron Parker <ron### [at] povray org> wrote:
: Not really. FLD with a 32-bit real operand is 20 clocks, as opposed to the
: 64-bit version at 25 clocks. FST is 44 vs. 45 clocks. FMUL is 27-35 clocks
: for a float, or 32-57 for a double. FDIV is 89 or 94. So floats are faster,
: under ideal conditions, but not by any significant amount. (This data is for
: the 386. Other processors vary, of course. Intel no longer seems to publish
: this data, for the obvious reason that pipelining and other optimizations
: make it useless.)
As someone already said, this is not true anymore for pentium-class
processors.
In a plain pentium (if I remember right) the fld takes about 6 clocks
and fst about 3 (for both float and double) and fmul takes 1 clock (amazingly)
in most cases.
In a P-II it's even faster.
On the other hand, all values are internally converted to 80 bits floating
numbers by the FPU (this is usually the long double type in C compilers for
PC). However, it's not faster to use the long double type. Double is faster.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |