[poppler] One more performance improvement

Krzysztof Kowalczyk kkowalczyk at gmail.com
Sun Sep 17 17:57:56 PDT 2006


Hello,

One more performance improvement:
https://bugs.freedesktop.org/show_bug.cgi?id=8315

The change is to make ImageStream::getLine() use buffered i/o.

For certain kind of images it gives 10-25% speed improvement in rendering page.

It also shows that virtual getChar() is very expensive. Before the change,
FlateStream::getChar() and ImageStream::getLine() were 2 most expensive
functions. After the change, ImageStream::getLine() dropped to position 17 and
FlateStream::readSome() (which replaced FlateStream::getChar()) to position 16.

And if someone is interested in improving the speed of this scenario even
futher, now the most expensive function is Splash::fillImageMask() and 3rd most
expensive is _ftol2_pentium4 (called from Splash::fillImageMask()) so improving
fillImageMask() would give the biggest boost.

-- kjk


More information about the poppler mailing list