Package: libpoppler19
Version: 0.18.4-6
Severity: normal

Dear Maintainer,

It seems that some part of poppler algorithm has an (unduly) poor complexity.
I attach a series of very simple PDF documents. Those are canvas for week
schedules, the only parameter changing is the size allocated for each day. When
uncompressed by pdftk, the diff is fairly small.
Here are rendering times:

ex1.pdf
real    0m0.276s
user    0m0.208s
sys     0m0.048s

ex2.pdf
real    0m1.252s
user    0m1.196s
sys     0m0.040s

ex3.pdf
real    0m5.955s
user    0m5.896s
sys     0m0.036s

ex4.pdf
real    0m19.091s
user    0m18.956s
sys     0m0.080s

ex5.pdf
real    0m44.453s
user    0m44.276s
sys     0m0.088s

This timing was obtained using the small attached python script, but it is
consistent with the timing observed in evince, okular, xpdf. Strangely enough,
xpdf shows the documents rendered really fast but the interface is stuck for
some time similar to these measures.
Note that mupdf renders the documents flawlessly.

This might well be the same as #680495, I don’t have enough clues to say so,
so I report this as a different bug.

Best regards,
Samuel



-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.10-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=es_AR.utf8, LC_CTYPE=es_AR.utf8 (charmap=UTF-8) (ignored: LC_ALL 
set to es_AR.UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages libpoppler19 depends on:
ii  libc6              2.17-7
ii  libfontconfig1     2.10.2-2
ii  libfreetype6       2.4.9-1.1
ii  libjpeg8           8d-1
ii  liblcms1           1.19.dfsg-1.2
ii  libopenjpeg2       1.3+dfsg-4.6
ii  libpng12-0         1.2.49-4
ii  libstdc++6         4.8.1-8
ii  libtiff4           3.9.7-1
ii  multiarch-support  2.17-7

Versions of packages libpoppler19 recommends:
ii  poppler-data  0.4.6-4

libpoppler19 suggests no packages.

-- no debconf information
#!/usr/bin/python
import sys
import gio
import cairo
import poppler

uri = gio.File(sys.argv[1]).get_uri()
doc = poppler.document_new_from_file(uri, None)
page = doc.get_page(0)
surface = cairo.PDFSurface('/tmp/out.pdf', 595.27559055118110236220, 841.88976377952755905511)
context = cairo.Context(surface)
page.render(context)
#context.show_page()

Attachment: pdfs.tar.xz
Description: application/xz

Reply via email to