On Wed, 2009-06-03 at 12:41 +0200, Dr. Werner Fink wrote:
On Tue, Jun 02, 2009 at 04:24:12PM -0400, Adam Tauno Williams wrote:
We use openSUSE for our Intranet web servers, which frequently convert documents to PDF using a2ps/ps2pdf. Under openSUSE 10.3 (GS 8.15.4-3.2) this process is very fast. Unfortunately after upgrading to openSUSE 11.1 (GS 8.62-31.43.1) we find the process to be excruciatingly slow. With just a 135KB PDF, containing no images, we see times like: openSUSE 10.3: real 0m1.5s user 0m0.4s sys 0m1.1s openSUSE 11.1: real 0m5.2s user 0m1.6s sys 0m3.6s sothat is quite a bit slower proportionally. But run a 632 page postscript file (again, no images) and... openSUSE 10.3: real 0m4.680s user 0m3.912s sys 0m0.768s openSUSE 11.1: effectively never finishes This is the time for running the following command: /usr/bin/gs -dSAFER -dCompatibilityLevel=1.2 -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=file.pdf -dSAFER -c .setpdfwrite -f file.ps I've tried removing ghostscript-omni to no effect. I've watched with "strace -c" and it doesn't appear to be spending all it's time in system calls, so it is Ghostscript itself. During the run time the gs process pegs the CPU. Any suggestions would be very appreciated. The version 8.62 has an completly rewritten pdfwrite API which is much more compatible with the PDF standard. Beside this it can handle much more PostScript code fid out there. This cause the longer compilation time.
A 400% increase for a small (135KB) file and from 4 seconds to hours for a 3MB file?
This has nothing todo with omni o r any other device interface, it is simply the device pdfwrite its self. Beside this check if you're uptodate with ghostscript as there was some fixes not only security fixes. Last changelog entry is Wed May 13 17:26:49 CEST 2009 - werner@suse.de - Complete patch for CVE-2009-0792 (bnc#491897)
I'm up to date as far as the openSUSE repository is concerned. Should I try to pull the ghostscript package from Factory?
if this version hangs on your file you may use strace -p `pidof gs` to see what happens here.
Just a constant stream of - ... write(6, "x\234330P0PH1\340*\3442\4\261\f\24\240Tr\256\202S\10\227~\220 \5P\300@"..., 60) = 60 brk(0xf959000) = 0xf959000 brk(0xf949000) = 0xf949000 brk(0xf948000) = 0xf948000 brk(0xf96f000) = 0xf96f000 write(6, "x\234330P0PH1\340*\3442\4\261\f\24\240Tr\256\202S\10\227~\220 \5P\300@"..., 60) = 60 brk(0xf95f000) = 0xf95f000 brk(0xf94f000) = 0xf94f000 brk(0xf94e000) = 0xf94e000 brk(0xf975000) = 0xf975000 write(6, "x\234330P0PH1\340*\3442\4\261\f\24\240Tr\256\202S\10\227~\220 \5P\300@"..., 60) = 60 brk(0xf965000) = 0xf965000 brk(0xf955000) = 0xf955000 brk(0xf954000) = 0xf954000 brk(0xf975000) = 0xf975000 write(6, "x\234330P0PH1\340*\3442\4\261\f\24\240Tr\256\202S\10\227~\220 \5P\300@"..., 60) = 60 ... -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org