|
|
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
|
|