[gs-devel] Performance Comparison Report on Adobe CPSI, Jaws and Ghostscript.
Jeong Kim
jhkim at bard.co.kr
Fri Apr 11 00:25:21 PDT 2003
Performance Comparison Report on Adobe CPSI, Jaws and Ghostscript.
10 Apr 2003
Jeong Kim
** OBJECTIVE **
To understand the performace of Ghostscript, a benchmark test against
another commercial PostScript interpreters is necessary.
This report examines the processing speed of Adobe CPSI, Jaws
and Ghostscript.
** TESTING METHODS **
As the three interpreters have their own processing methods, comparing
overall performace for these is not so reasonable that I constructed a test
set with 4 kinds of EPS files. The test set consists of image, vector shape,
shading-oriented and composite files.
In addition to check the scalibility, each files in the set is rendered at
360 and 720dpi.
As PostScript processing is generally separated into interpreting and
rendering process, the speed is checked for interpreting, rendering
and total time.
** VERSIONS **
In this test, 4 versions of PostScript interpreters are used.
As I don't have the exact CPSI library, I used a RIP software to test
the performance for CPSI indirectly.
The RIP software is 'Scanvec-Amiable Photo Print Server 4.5' which
uses Adobe CPSI 3010.108 as a PostScript interpreter.
The reason why I choosed 360 and 720 dpi as the rendering resolution is that
I only have a printer driver of these resolution for this RIP software.
And Ghostscript shows different performance results with
PSEUDO_RASTERIZATION option on or off, I tested both
versions.
To ignore time for screening, all the tests are made to use same
threshold array for generating screens.
------------------------------------------------------------------------------
PSI Version Comments
------------------------------------------------------------------------------
Adobe CPSI 3010.108
Jaws 2002.4 - 31 Jul 98
Ghostscript current cvs head (8 Apr 03) PSEUDO_RASTERIZATION
Ghostscript current cvs head (8 Apr 03) No PSEUDO_RASTERIZATION
------------------------------------------------------------------------------
** SAMPLES **
The test set consists as following.
They are stored in casper. (~jeong/benchmark)
------------------------------------------------------------------------------
File Name File Size Image Size Type
------------------------------------------------------------------------------
test1.eps 140,632KB 60.96x60.84cm Image
test2.eps 10,992KB 62.48x84.97cm Vector
test3.eps 470KB 125.90x131.36cm Vector (Many shfills)
test4.eps 27,222KB 19.84x26.66cm Composite
(Images & Vectors)
------------------------------------------------------------------------------
** TEST RESULTS **
--------------------------------------------------------
Adobe CPSI (3010.108)
--------------------------------------------------------
Interpreting Rendering Total
test1.eps (360dpi) 52.01 38.62 90.63
test2.eps (360dpi) 6.82 8.57 15.39
test3.eps (360dpi) 3.8 27.17 30.97
test4.eps (360dpi) 9.12 1.33 10.45
test1.eps (720dpi) 50.83 54.91 105.74
test2.eps (720dpi) 10.78 23.47 34.25
test3.eps (720dpi) 12.54 109.06 121.6
test4.eps (720dpi) 8.92 5.12 14.04
--------------------------------------------------------
--------------------------------------------------------
Jaws (2002.4 - 31 Jul 98)
--------------------------------------------------------
Interpreting Rendering Total
test1.eps (360dpi) 28.62 24.62 53.24
test2.eps (360dpi) 2.84 29.42 32.26
test3.eps (360dpi) 0.7 47.95 48.65
test4.eps (360dpi) 7.43 4.51 11.94
test1.eps (720dpi) 24.91 38.86 63.77
test2.eps (720dpi) 3.96 106.75 110.71
test3.eps (720dpi) 0.69 177.96 178.65
test4.eps (720dpi) 6.19 5.58 11.77
--------------------------------------------------------
--------------------------------------------------------
Ghostscript (current head - PSEUDO_RASTERIZATION)
--------------------------------------------------------
Interpreting Rendering Total
test1.eps (360dpi) 14.98 29.67 44.65
test2.eps (360dpi) 10.85 39.86 50.71
test3.eps (360dpi) 101.77 52.48 154.25
test4.eps (360dpi) 4.37 5.26 9.63
test1.eps (720dpi) 15.67 45.7 61.37
test2.eps (720dpi) 33.28 155.19 188.47
test3.eps (720dpi) 217.29 261.3 478.59
test4.eps (720dpi) 4.84 8.11 12.95
--------------------------------------------------------
--------------------------------------------------------
Ghostscript (current head - No PSEUDO_RASTERIZATION)
--------------------------------------------------------
Interpreting Rendering Total
test1.eps (360dpi) 13.44 30.1 43.54
test2.eps (360dpi) 10.89 39.32 50.21
test3.eps (360dpi) 45.4 40.74 86.14
test4.eps (360dpi) 3.42 5.11 8.53
test1.eps (720dpi) 16.47 45.59 62.06
test2.eps (720dpi) 37.15 157.81 194.96
test3.eps (720dpi) 110.94 210.53 321.47
test4.eps (720dpi) 3.62 8.39 12.01
--------------------------------------------------------
** CONCLUSION **
As we can see in the result tables, the performance depends on
the characteristics of the source files.
For the case of image file, Ghostscript shows an outstanding result.
GS is faster as twice as CPSI in total processing time.
In the sense of interpreting time, GS is nearly 4 times faster than
Adobe and double than Jaws. This fact is very important because
many RIP softwares does printing and rendering simultaneously.
test2.eps file has complex diagrams and a map. In this case
CPSI makes excellent records.
The most serious case is test3.eps. With this file GS
(With PSEUDO_RASTERIZATION enabled - default)
takes 478.59 seconds to process at 720dpi.
To make matters worse, interpreting time takes
217.29 seconds when CPSI takes 12.54 secs and Jaws takes 0.69 secs.
When PSEUDO_RASTERIZATION is disabled, it takes 321.47 secs for
total and 110.94 for interpreting. It's better but miserable comparing
with CPSI or Jaws.
For test4.eps, all the interpreters shows similar results.
In this benchmark test, we can see that the image processing
performace of GS is outstanding but vector processing is
now so good comparing to another interpreters.
And for many shfills, GS has serious performance problem.
** EPILOG **
I wanted to put Harlequin ScriptWorks in the test set but I couldn't get
one currently. In time, I can get one and then I will do this test for it.
In the test files, I ommited files with PostScript fonts. I will test
font processing performance next time.
I admit that the test files are not so good samples.
Any idea or comments for sampling files or testing methods are welcome.
More information about the gs-devel
mailing list