POV-Ray : Newsgroups : povray.unix : Pentium 3 optimized binary : Re: Pentium 3 optimized binary Server Time
28 Jul 2024 16:29:34 EDT (-0400)
  Re: Pentium 3 optimized binary  
From: Christopher James Huff
Date: 2 Aug 2002 22:32:04
Message: <chrishuff-CE8743.21225102082002@netplex.aussie.org>
In article <3d4b341f@news.povray.org>, Warp <war### [at] tagpovrayorg> 
wrote:

>   This reminds me of something else: Seemingly patch makers have not followed
> the strict programming guidelines in the POV-Ray source code, which has
> caused a big problem: The code is extremely hard to optimize for RISC
> processors, which means that POV-Ray is quite slow in them, even though
> it could be a lot faster if the patches were coded in the right way.

What "strict programming guidelines" are you talking about?!?

The Source is very messy and inconsistent, badly commented, with 
different coding styles in different areas and often doing things the 
hard way when an existing function does the same thing. It isn't just 
the patches that have this problem, some of the worst code is very old: 
The leopard pattern (and several others) could be a 1-liner[1], but it 
uses 4 temporary variables. The onion pattern has a (unnecessary) 
variable named "noise" and the following comment:
/* The variable noise is not used as noise in this function */
The code is littered with unused variables and produces huge amounts of 
warnings.
And there is no documentation other than the source code itself, 
definitely no strict guidelines. And I don't think the code has ever 
been good on RISC machines...it has been like that from the beginning.


[1] Specifically:
return Sqr((sin(EPoint[X]) + sin(EPoint[Y] + sin(EPoint[Z])))/3.0);

-- 
Christopher James Huff <chr### [at] maccom>
POV-Ray TAG e-mail: chr### [at] tagpovrayorg
TAG web site: http://tag.povray.org/


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.