Summary: | Certain documents take ages to open | ||
---|---|---|---|
Product: | poppler | Reporter: | octoploid <octoploid> |
Component: | general | Assignee: | poppler-bugs <poppler-bugs> |
Status: | RESOLVED MOVED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | octoploid |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
URL: | https://bugs.kde.org/show_bug.cgi?id=333999 | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
octoploid
2014-04-27 14:45:07 UTC
The file is too big (~4MB), you can download it here: http://trippelsdorf.de/c++14-std.pdf Callgrind shows: -------------------------------------------------------------------------------- Ir file:function -------------------------------------------------------------------------------- 4,836,050,329 ???:inflate [/lib64/libz.so.1.2.8] 2,447,514,148 ???:Lexer::getObj(Object*, int) [/usr/lib64/libpoppler.so.44.0.0] 2,423,242,583 ???:Lexer::getChar(bool) [/usr/lib64/libpoppler.so.44.0.0] 1,930,117,398 ???:_int_malloc [/lib64/libc-2.19.so] 1,817,056,786 ???:_int_free [/lib64/libc-2.19.so] 1,104,522,639 ???:pthread_mutex_lock [/lib64/libc-2.19.so] 986,351,514 ???:adler32 [/lib64/libz.so.1.2.8] 970,140,091 ???:FlateStream::fill_buffer() [/usr/lib64/libpoppler.so.44.0.0] 929,653,000 ???:updatewindow [/lib64/libz.so.1.2.8] 926,941,897 ???:malloc [/lib64/ld-2.19.so] 888,739,879 ???:FlateStream::getRawChar() [/usr/lib64/libpoppler.so.44.0.0] 819,731,562 ???:EmbedStream::getChar() [/usr/lib64/libpoppler.so.44.0.0] 796,210,919 ???:__pthread_mutex_unlock_usercnt [/lib64/libpthread-2.19.so] 755,289,360 ???:Lexer::lookChar() [/usr/lib64/libpoppler.so.44.0.0] 504,252,637 ???:Parser::shift(int) [/usr/lib64/libpoppler.so.44.0.0] 502,636,507 ???:Object::free() [/usr/lib64/libpoppler.so.44.0.0] 474,337,628 ???:Parser::getObj(Object*, bool, unsigned char*, CryptAlgorithm, int, int, int, int, bool)'2 [/usr/lib64/libpoppler.so.44.0.0] 444,389,766 ???:FlateStream::getChar() [/usr/lib64/libpoppler.so.44.0.0] 414,240,772 ???:Parser::getObj(Object*, bool, unsigned char*, CryptAlgorithm, int, int, int, int, bool) [/usr/lib64/libpoppler.so.44.0.0] 408,932,209 ???:memcpy@@GLIBC_2.14 [/lib64/libc-2.19.so] 339,606,073 ???:free [/lib64/ld-2.19.so] 267,088,262 ???:strcpy [/lib64/libc-2.19.so] 236,291,915 ???:Array::add(Object*) [/usr/lib64/libpoppler.so.44.0.0] 231,210,549 ???:pthread_mutex_unlock [/lib64/libc-2.19.so] 201,569,086 ???:FileStream::getChar() [/usr/lib64/libpoppler.so.44.0.0] 189,403,722 ???:malloc_consolidate [/lib64/libc-2.19.so] 185,936,494 ???:ObjectStream::ObjectStream(XRef*, int, int) [/usr/lib64/libpoppler.so.44.0.0] 168,983,450 ???:strlen [/lib64/ld-2.19.so] 167,231,238 ???:pthread_mutex_init [/lib64/libc-2.19.so] 161,358,915 ???:Object::free()'2 [/usr/lib64/libpoppler.so.44.0.0] 122,569,308 ???:Catalog::getPageRef(int) [/usr/lib64/libpoppler.so.44.0.0] 121,367,371 ???:copyString [/usr/lib64/libpoppler.so.44.0.0] 118,516,078 ???:Array::~Array() [/usr/lib64/libpoppler.so.44.0.0] 118,085,870 ???:Catalog::getNumPages() [/usr/lib64/libpoppler.so.44.0.0] 99,507,532 ???:operator new(unsigned long) [/usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.1/libstdc++.so.6.0.20] 98,522,904 ???:inflate_table [/lib64/libz.so.1.2.8] 90,815,198 ???:strcmp [/lib64/ld-2.19.so] 86,916,246 ???:greallocn [/usr/lib64/libpoppler.so.44.0.0] 84,038,778 ???:gmalloc [/usr/lib64/libpoppler.so.44.0.0] 80,091,374 ???:Splash::compositeBackground(unsigned char*) [/usr/lib64/libpoppler.so.44.0.0] ... The referenced document has 1385 pages. Rendering of 1 page in default resolution takes on my laptop: time ./utils/pdftoppm -png -cropbox -f 1 -l 1 78006.open/c++14-std.pdf output/78006 real 0m0.227s user 0m0.204s sys 0m0.008s Rendering of 10 pages: time ./utils/pdftoppm -png -cropbox -f 1 -l 10 78006.open/c++14-std.pdf output/78006 real 0m3.366s user 0m3.340s sys 0m0.008s I think I'm getting too old if someone argues that it "takes ages to open". But even if, it's definitely not a poppler problem but a problem of the application which opens it! OK thanks. I will open a okular bug. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.