[poppler] Performance and truetype font handling

Frank Meerkoetter frank at meerkoetter.org
Thu Feb 16 06:55:08 PST 2006


Hi,

i've recently spent some time with poppler and oprofile.
I've noticed that on top of the profile were methods related
to parsing truetype fonts.

# opreport --symbols /usr/lib/libpoppler.so.0.0.0
CPU: CPU with timer interrupt, speed 0 MHz (estimated)
Profiling through timer interrupt
samples  %        symbol name
131      12.8937  .plt
87        8.5630  FoFiTrueType::readPostTable()                  <- related
73        7.1850  GooHash::hash(GooString*)                      <- related
37        3.6417  GooHash::~GooHash()                            <- related
37        3.6417  Splash::fillGlyph(double, double, SplashGlyphBitmap*)
37        3.6417  SplashOutputDev::imageSrc(void*, SplashColor*, unsigned char*)
32        3.1496  FoFiBase::getU16BE(int, int*)                  <- related
31        3.0512  $a
26        2.5591  SplashFont::getGlyph(int, int, int, SplashGlyphBitmap*)

After some digging around i've noticed that the fonts are read and parsed
for every new page displayed! Does anyone knows if there is a good
reason to do it that way?

Regards,
   Frank



More information about the poppler mailing list