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.
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
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
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
FWIW, sort -k4 -t, -n on marcos' list reveals the outliers.
Closing this. The bottlenecks which occurred mainly in the shading objects was addressed sometime ago.