Bug 691120 - performance evaluation of icc branch
Summary: performance evaluation of icc branch
Status: RESOLVED FIXED
Alias: None
Product: Ghostscript
Classification: Unclassified
Component: Graphics Library (show other bugs)
Version: 0.00
Hardware: All MacOS X
: P4 normal
Assignee: Michael Vrhel
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-18 11:46 UTC by Henry Stiles
Modified: 2010-06-28 10:57 UTC (History)
0 users

See Also:
Customer:
Word Size: ---


Attachments
timings.csv (1.57 MB, text/plain)
2010-02-18 14:43 UTC, Marcos H. Woehrmann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Henry Stiles 2010-02-18 11:46:30 UTC
We would like to identify performance regressions and improvements in the new
icc branch (svn+ssh://svn.ghostscript.com/svn/ghostscript/branches/icc_work).  I
imagine the easiest thing to do is simply run all the test files with parameters
like the regression tests and find files that have large relative differences
compared with the current trunk code.  Large slowdowns should be analyzed and
reported to Michael.
Comment 1 Marcos H. Woehrmann 2010-02-18 12:04:15 UTC
Dave,

I have scripts that can perform the timing tests; if you like I can run these and attach the results for the 
current head and the icc branch (you get to do the hard work of analyzing the results :-).

marcos
Comment 2 Marcos H. Woehrmann 2010-02-18 14:43:08 UTC
Created attachment 5968 [details]
timings.csv

The attached file gives timing information for the icc_work branch (r10773) vs.
the current head (r10766).

The data is formatted thus:

column 1: the filename (see below for details)
column 2: time in seconds of cpu time for head to process file
column 3: time in seconds of cpu time for icc_work to process file
column 4: ratio of column 3 and column 2 (>1 means icc_work is slower)

The filenames encode the directory and name of the input file and the output
options used, for example:

tests__ps__uncolored_pattern.ps.ppmraw.300.1

the input file is tests/ps/uncolored_pattern.ps
the output device is ppmraw
the resolution is 300 dpi
banding was forced on through the use of -dMaxBitmap=10000

Files that have an extra .pdf in their name were processed through pdfwrite,
for example:

tests_private__ps__ps3cet__12-14E.PS.pdf.ppmraw.300.0

the file tests_private/ps/ps3cet/12-14E.PS was converted to a PDF file and then
to a ppmraw file.  In these cases the times given in the attached file are for
the final PDF->bitmap step (I have the other numbers as well, let me know if
you are interested).

Note that CET test files are converted with these options:

-dJOBSERVER %rom%Resource/Init/gs_cet.ps - <  ./19-10.PS
Comment 3 Marcos H. Woehrmann 2010-02-18 14:59:30 UTC
Just to make sure we agree on the test conditions here are some examples of the command lines used to generate the timing data:

tests_private__pdf__PDFIA1.7_SUBSET__IA3Z4630.pdf.pbmraw.72.0

./gs/bin/gs  \
  -sOutputFile=/dev/null  \
  -dMaxBitmap=30000000 \
 -sDEVICE=pbmraw \
  -r72 \
  -sDEFAULTPAPERSIZE=letter \
  -dNOPAUSE \
  -dBATCH \
  -K1000000 \
  -dJOBSERVER \
  ./tests_private/pdf/PDFIA1.7_SUBSET/IA3Z4630.pdf


tests_private__ps__ps3cet__19-10.PS.ppmraw.300.1

./gs/bin/gs  \
  -sOutputFile=/dev/null  \
  -dMaxBitmap=10000 \
  -sDEVICE=ppmraw \
  -r300 \
  -sDEFAULTPAPERSIZE=letter \
  -dNOPAUSE \
  -dBATCH \
  -K1000000 \
  -dJOBSERVER \
  %rom%Resource/Init/gs_cet.ps \
  - <  ./tests_private/ps/ps3cet/19-10.PS


tests_private__comparefiles__304-01.ps.pdf.pkmraw.300.0

./gs/bin/gs \
  -sOutputFile=./temp/tests_private__comparefiles__304-01.ps.pdf.pkmraw.300.0.pdf \
  -sDEVICE=pdfwrite \
  -r300 \
  -sDEFAULTPAPERSIZE=letter \
  -dNOPAUSE \
  -dBATCH \
  -dJOBSERVER \
  - <  ./tests_private/comparefiles/304-01.ps

./gs/bin/gs  \
  -sOutputFile=/dev/null  \
  -dMaxBitmap=30000000 \
  -sDEVICE=pkmraw \
  -r300 \
  -sDEFAULTPAPERSIZE=letter \
  -dNOPAUSE \
  -dBATCH \
  -K1000000 \
  -dJOBSERVER \
  ./temp/tests_private__comparefiles__304-01.ps.pdf.pkmraw.300.0.pdf
Comment 4 Henry Stiles 2010-03-09 03:03:11 UTC
FWIW, sort -k4 -t, -n on marcos' list reveals the outliers.
Comment 5 Michael Vrhel 2010-06-28 10:57:48 UTC
Closing this.  The bottlenecks which occurred mainly in the shading objects was addressed sometime ago.