[gs-bugs] [Bug 689534] Poor performance reading PDF file
bugs.ghostscript.com-bugzilla-daemon at ghostscript.com
bugs.ghostscript.com-bugzilla-daemon at ghostscript.com
Sun Apr 27 23:47:44 PDT 2008
http://bugs.ghostscript.com/show_bug.cgi?id=689534
leonardo at artifex.com changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|leonardo at artifex.com |ray.johnston at artifex.com
------- Additional Comments From leonardo at artifex.com 2008-04-27 23:47 -------
Folks, I don't see what can I improve here in the kernel level. The document is
large, and it needs big resources to rasterize. Particularly, the default band
size (13 pixels) is too small for it. It causes 764 bands, and most objects are
too fraggled. When I set -dBufferSpace=40000000 -r300, the ducument completes
in 20 minutes on the old Zeon 3.05. Since the page size id 53x33 inches, it is
equivalent to 20 A4 pages, so we have 1 minuter per 1 A4 page - no so bad. I
believe that Ray should write a proper documentation for end users about
banding paramenets and memory settings for large pages, so I bumped the
priority for bug 689668.
Besides that, I think a rewriting of the PDF interpreter in C may help. I see
the document causes a lot of PS operations for each small graphic object, and
it would be nice to decreese this expense. I recommend Alex to look whether he
can optimize the PDF interpreter. Please build gs with
XCFLAGS=/DDEBUG_TRACE_PS_OPERATORS and run this :
gswin32c.exe -Z!L -dBufferSpace=40000000 -r300 -dNOPAUSE -dNOOUTERSAVE -
dBATCH -dEPSFitPage -sDEVICE=tiffg4 -sOutputFile=cur.tif 689534.pdf 2>j:\o
It will generate a 2Gb trace in 3 hours, and one can see that we execute 200+
PS operators for each simple object like this :
3321.89 336.66 m
3322.89 336.66 l
S
Passing the bug to Ray because I believe that the documentation is the critical
issue here.
If you folks have ideas what to improve in the kernel, I'm open to listen them.
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.
More information about the gs-bugs
mailing list