[poppler] performance bottleneck of SplashFont cache.
Sam Liao
phyomh at gmail.com
Sat Aug 13 09:35:00 PDT 2011
Hi All,
I tried to a perf analysis of the poppler library with the perf-test
program, and follwing result:
[kernel.kallsyms] with build id
ebfb885c6b5fc2a5bccbb13e06f9ff8b23596ee9 not found, continuing without
symbols
# Events: 2K cycles
#
# Overhead Command Shared Object
# ........ .............. ....................
...............................................................................................................................................................
#
30.27% perf-test libfreetype.so.6.6.2 [.] 0x5501d
|
--- _start
__libc_start_main
main
PdfEnginePoppler::renderBitmap(int, double, int)
PDFDoc::displayPage(OutputDev*, int, double, double,
int, bool, bool, bool, bool (*)(void*), void*, bool (*)(Annot*,
void*), void*)
Page::display(OutputDev*, double, double, int, bool,
bool, bool, Catalog*, bool (*)(void*), void*, bool (*)(Annot*, void*),
void*)
Page::displaySlice(OutputDev*, double, double, int,
bool, bool, int, int, int, int, bool, Catalog*, bool (*)(void*),
void*, bool (*)(Annot*, void*), void*)
Gfx::display(Object*, bool)
Gfx::go(bool)
Gfx::execOp(Object*, Object*, int)
Gfx::opShowSpaceText(Object*, int)
Gfx::doShowText(GooString*)
SplashOutputDev::drawChar(GfxState*, double, double,
double, double, double, double, unsigned int, int, unsigned int*, int)
|
|--99.76%-- Splash::fillChar(double, double, int, SplashFont*)
| SplashFTFont::getGlyph(int, int, int,
SplashGlyphBitmap*, int, int, SplashClip*, SplashClipResult*)
| SplashFont::getGlyph(int, int, int,
SplashGlyphBitmap*, int, int, SplashClip*, SplashClipResult*)
| SplashFTFont::makeGlyph(int, int, int,
SplashGlyphBitmap*, int, int, SplashClip*, SplashClipResult*)
| |
| |--59.74%-- FT_Render_Glyph
| | |
| | |--99.80%-- FT_Render_Glyph_Internal
More information about the poppler
mailing list