|
|
In article <3fc8a358@news.povray.org> , Wolfgang Wieser <wwi### [at] gmxde>
wrote:
> Is there any reason to use
> a/=2.0;
> instead of
> a*=0.5;
> in case a is a float or double variable?
>
> After all, 0.5 has an exact representation as float (being
> 1 * 2^-1). On current CPUs, the latter is faster by a factor
> of three, IIRC.
Unless you depend on certain precision side effects, the multiplication will
be sufficient. And it isn't faster by a specific factor. The issues behind
the speed difference are much more complex. On modern processors,
multiplications can commonly be fully pipelines, while divisions are an
iterative process that is not pipelined (because it would take too many
gates).
Thorsten
____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde
Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
|