Gritzmark

BMRT example suite timing results.

The "Gritzmark" is a relative performance measure of Larry Gritz's BMRT renderer. Each release of BMRT contains a suite of examples which can be rendered on various hardware and operating system platforms to judge the performance of the renderer. As the examples may change release to release, the Gritzmark figures need to be specified for each version of BMRT. Speed comparisons between versions of BMRT should be viewed lightly, as many conditions can cause variations. It is best used as a side-by-side comparison of various hardware platforms for near "real-world" rendering performance.

The gritzmark can not be used to compare other Renderman-compliant renderers to BMRT. That comparison can only be made if the images produced by each renderer were equivalent within a marginal tolerance. BMRT and Prman, for example, can produce similar results, but differ enough in their implementation that attempts at such a comparison would be misleading. The example suite provided with BMRT exploits properties not found in the other renderers.

The gritzmark is defined as the sum, in "wall-clock" seconds, of time taken to render the suite of examples. It should be computed as an average of several runs on a system with minimal additional load, and enough memory to avoid swapping. The following table includes both the overall gritzmark and the component values.

Lower numbers are better.

Gritzmark 2.4.0

Chip Speed OS Gritzmark cornell disptest dresser hybridtest1* limbo shadtest smokebox teapots texbox1 tpdisp
Celeron 300A 450 Linux 2.2.5 (RH 6.0) 1480 58 21.3 400.7 70.3 477 7.7 73.5 141 89 141.7
R10K (mips4) 195 IRIX 6.2 2493 95 32 655 123 796 13 128 237 170 243
PPro 200 Linux 2.0.36 (b) 3254 141 42 906 144 1006 16 180 310 200 308
PPro 200 Linux 2.0.36 (pre-b) 3661 153 45 1019 176 1069 17 184 385.7 222 390
R4400 (mips2) 250 IRIX 6.2 7393 384 76 2194 473 2284 38 227 515 550 602
* For the purposes of the Gritzmark, hybridtest1 is run solely under BMRT. Prman is NOT used.

Gritzmark 2.3.6

Chip Speed OS Gritzmark cornell dresser smokebox tpdisp limbo shadtest disptest teapots texbox1
PII 300 NT 1999 84 561 101 306 572 9 25 206 134
R10K 195 Irix 2261 93 630 143 307 690 11 29 186 168
PPro 200 Linux 2.0.33 3461 159 1021 202 525 926 16 42 334 236
UltraSPARC-IIi 270 Solaris 2.6 3937 169 1097 223 515 1260 23 53 311 285
R4400 250 Irix 6.2 5720 298 1545 327 764 1805 30 74 479 399

2.3.6 Notes

The Gritzmark test consists of the rib files in the distribution examples directory. The tests are run with the distribution ".rendribrc" file which sets the oversampling to 1x1 on the files which don't specify it.

The enclosed script was used in generating the gritzmark totals. If you would like to add your statistics to the table, please execute the script and send the results, along with your machine's specifications (chip, speed, OS) to gritzmark@fleetingimage.com

Be sure you're using the proper supersampling, some of the example files rely on the .rendribrc values.

The following script, as suggested by wave@pixar.com, was used to generate the gritzmark totals.

#!/bin/sh
# \
exec tclsh8.0 "$0" "$@"

set BMRT_HOME /usr/local/BMRT

set numberOfRuns 3

cd $BMRT_HOME/examples

set ribFiles [lsort [glob *.rib]]

proc timeit {body} {
  set a [clock seconds]
  uplevel $body
  set b [clock seconds]
  return [expr $b - $a]
}

set accumulatedTotal 0.0
foreach ribFile $ribFiles {
  set runsum($ribFile) 0
}
for {set i 0} {$i < $numberOfRuns} {incr i} {
  foreach ribFile $ribFiles {
    set fileTotal [timeit "exec $BMRT_HOME/bin/rendrib $ribFile"]
    puts "rendrib took $fileTotal seconds to render $ribFile"
    set accumulatedTotal [expr {$accumulatedTotal + $fileTotal}]
    set runsum($ribFile) [expr {$runsum($ribFile) + $fileTotal}]
  }
}
foreach ribFile $ribFiles {
  set averageTime [expr {$runsum($ribFile)/double($numberOfRuns)}]
  puts "The average time for $ribFile was $averageTime"
}

set averageTime [expr {$accumulatedTotal/double($numberOfRuns)}]
puts "The overall average time to run all examples (gritzmark) in this release was $averageTime."

exit 0

Copyright © 1999 Fleeting Image Animation, Inc. All Rights Reserved.
www.fleetingimage.com