POV-Ray : Newsgroups : povray.unix : Benchmark tests for different UltraSPARC compiles of POV-Ray Server Time
24 Dec 2024 20:39:14 EST (-0500)
  Benchmark tests for different UltraSPARC compiles of POV-Ray (Message 1 to 2 of 2)  
From: Warp
Subject: Benchmark tests for different UltraSPARC compiles of POV-Ray
Date: 15 Jun 2001 09:26:20
Message: <3b2a0cfc@news.povray.org>
I compiled povray for (Solaris) UltraSPARC with different architecture
options and tested its speed with four povray files. The files I used were:

  - Parsing benchmark: A very complicated SDL which takes very long to parse
and just a few seconds to render. Requires some memory too.

  - Rendering benchmark 1: A plane and 5 glass spheres.

  - Rendering benchmark 2: 10000 spheres, each one with its own texture.
Parse time is just a few seconds.

  - Rendering benchmark 3: An isosurface and an area light
(http://iki.fi/warp/pics/lftest1.jpg).


  I rendered them in a Sun Ultra 5 and here are the results:

Parsing benchmark:
      gcc: 6 min 10 sec
       v8: 5 min 39 sec
   v8plus: 5 min 37 sec
  v8plusa: 5 min 25 sec
       v9: 6 min 34 sec
      v9a: 6 min 35 sec

Rendering benchmark 1:
      gcc: 4 min  8 sec
       v8: 3 min 50 sec
   v8plus: 5 min  6 sec
  v8plusa: 3 min 44 sec
       v9: 4 min  8 sec
      v9a: 4 min 57 sec

Rendering benchmark 2:
      gcc: 4 min  8 sec
       v8: 3 min 55 sec
   v8plus: 4 min  0 sec
  v8plusa: 3 min 40 sec
       v9: 3 min 52 sec
      v9a: 3 min 49 sec

Rendering benchmark 3:
      gcc: 4 min 51 sec
       v8: 4 min 51 sec
   v8plus: 6 min 30 sec
  v8plusa: 4 min 53 sec
       v9: 5 min 40 sec
      v9a: 5 min 31 sec


  The v8plusa seems the winner.
  I think that the v9 compiles are slower because it generates 64-bit code,
which is larger, stresses more the memory bus and overflows caches more
quickly and POV-Ray doesn't get any advantage of 64-bit code.

-- 
#macro N(D,I)#if(I<6)cylinder{M()#local D[I]=div(D[I],104);M().5,2pigment{
rgb M()}}N(D,(D[I]>99?I:I+1))#end#end#macro M()<mod(D[I],13)-6,mod(div(D[I
],13),8)-3,10>#end blob{N(array[6]{11117333955,
7382340,3358,3900569407,970,4254934330},0)}//                     - Warp -


Post a reply to this message

From: Dennis Clarke
Subject: Re: Benchmark tests for different UltraSPARC compiles of POV-Ray
Date: 15 Jun 2001 09:40:39
Message: <3B2A1060.5323BD98@blastwave.com>
Warp wrote:
> 
>   I compiled povray for (Solaris) UltraSPARC with different architecture
> options and tested its speed with four povray files. The files I used were:

I thought I was being detailed!  You must have spent all day at this.  :o

> 
>   I rendered them in a Sun Ultra 5 and here are the results:
> 
> Parsing benchmark:
>       gcc: 6 min 10 sec
>        v8: 5 min 39 sec
>    v8plus: 5 min 37 sec
>   v8plusa: 5 min 25 sec
>        v9: 6 min 34 sec
>       v9a: 6 min 35 sec
> 
> Rendering benchmark 1:
>       gcc: 4 min  8 sec
>        v8: 3 min 50 sec
>    v8plus: 5 min  6 sec
>   v8plusa: 3 min 44 sec
>        v9: 4 min  8 sec
>       v9a: 4 min 57 sec
> 
> Rendering benchmark 2:
>       gcc: 4 min  8 sec
>        v8: 3 min 55 sec
>    v8plus: 4 min  0 sec
>   v8plusa: 3 min 40 sec
>        v9: 3 min 52 sec
>       v9a: 3 min 49 sec
> 
> Rendering benchmark 3:
>       gcc: 4 min 51 sec
>        v8: 4 min 51 sec
>    v8plus: 6 min 30 sec
>   v8plusa: 4 min 53 sec
>        v9: 5 min 40 sec
>       v9a: 5 min 31 sec
> 
>   The v8plusa seems the winner.
>   I think that the v9 compiles are slower because it generates 64-bit code,
> which is larger, stresses more the memory bus and overflows caches more
> quickly and POV-Ray doesn't get any advantage of 64-bit code.

OK.  I agree but not because I did the same mix of tests.  I'm not surprised at
the v8plusa winner because that is what I found as well.  I did test with other
scene files and the v8plusa was always a bit faster.  I don't believe the -fast
option really is the optimal settings for my system.  Not simply because it
seems to be too easy to implement without thinking but primarily because I think
a compile built for an Ultra5 or Ultra10 is at best a close fit for an E450 or
Ultra2.  A non-portable binary just doesn't seem right and the generic build is
horrible.  The middle ground is a binary built for systems with reasonably fast
processors and at least 1Mb of L2 cache.  That would cover most Sun systems
quite easily.  

Who knows what the future holds.  I am certainly waiting to see what a new
version of Pov-Ray will look like.  Multi-threaded and Client-Server will be a
lot of fun to run.  :)

Dennis Clarke



> 
> --
> #macro N(D,I)#if(I<6)cylinder{M()#local D[I]=div(D[I],104);M().5,2pigment{
> rgb M()}}N(D,(D[I]>99?I:I+1))#end#end#macro M()<mod(D[I],13)-6,mod(div(D[I
> ],13),8)-3,10>#end blob{N(array[6]{11117333955,
> 7382340,3358,3900569407,970,4254934330},0)}//                     - Warp -


Post a reply to this message

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