POV-Ray : Newsgroups : povray.programming : 64bit windows compile? : Re: 64bit windows compile? Server Time
2 Jul 2024 10:16:47 EDT (-0400)
  Re: 64bit windows compile?  
From: Warp
Date: 18 Apr 2004 14:53:12
Message: <4082ce98@news.povray.org>
Rich <SrP### [at] ricoswebcom> wrote:
> From what I've heard on the WindowsXP64 board, compiling with the 
> optimizations intended for 64bit, or possibly for the AMD64 particularly, 
> will increase program execution speed dramatically.

  You have to make a distinction between "a 64-bit compile of POV-Ray"
and "a compile of POV-Ray optimized for AMD64" because these are two
different things.

  Of course you can expect a measurable speedup if you compile POV-Ray
with AMD64-specific optimizations turned on. The AMD64 processor has
new features which a compiler can use to make faster code than with
earlier processors.

  However, in your original post you were just asking for "a 64-bit version
of POV-Ray", which is a different thing. It sounded like you were expecting
a 64-bit version (*any* 64-bit version) to be automatically faster than a
32-bit version.

  I have actually tried compiling a 64-bit version of POV-Ray for the
UltraSparc processor, and it's not faster than the 32-bit version (and
why would it be anyways?). "64-bit code" does not automatically mean
the program will be faster.

  So what you were asking was for an "AMD64-optimized version of POV-Ray".
You should be clear about this to avoid confusion.

>  That's what I 
> expect, along with a better/faster/more efficient numerical precision 
> when using really small, or really large, parameters in object size, 
> placement, etc.

  You are confusing things now.

  In a typical 64-bit CPU the 'long' type as well as pointers will
be 64 bits (the 'int' type will typically still be 32 bits, even though
it also could be 64 bits long, but I have never heard of that).

  However, an FPU is a completely different beast. Even when the CPU is
64 bits, that doesn't need to affect the FPU in any way. The CPU does not
handle floating point arithmetic, the FPU does.
  POV-Ray uses mostly the 'double' type for floating point, which is
64 bits long in all 32 and 64 bit processors.
  Unfortunately your numerical precision is not going to increase by
compiling POV-Ray for the 64-bit processor. The only difference you
will see is that you can make scenes which eat up more than 4 gigabytes
of memory.

> When that same program is compiled to 
> 64bit, using the optimizations intended for 64bit, the program will run 
> significantly faster on the 64bit processor (and not at all on the 32bit 
> processor).

  But that's not because 64-bitness would have some magic in it which would
automatically make code faster. That's because the AMD64 processor has
new features which the compiler can use to make faster code.
  We are still talking about an AMD64-optimized version, not a generic
64-bit version of the program.

> If 
> there's even a slight possiblity that compiling with 64bit optimizations 
> will result in faster code execution, why wouldn't I want to try it?

  That's not the point. The point was that I was trying to correct the
mistaken thinking that "64 bits" has some magic in it which will
automatically make code faster.

-- 
plane{-x+y,-1pigment{bozo color_map{[0rgb x][1rgb x+y]}turbulence 1}}
sphere{0,2pigment{rgbt 1}interior{media{emission 1density{spherical
density_map{[0rgb 0][.5rgb<1,.5>][1rgb 1]}turbulence.9}}}scale
<1,1,3>hollow}text{ttf"timrom""Warp".1,0translate<-1,-.1,2>}//  - Warp -


Post a reply to this message

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