• StefanBruens's avatar
    SplashXPathScanner: Optionally use small_vector from boost · 355fd8d5
    StefanBruens authored
    Currently, each row in the intersections vector is allocated separately,
    when the first intersection is added.
    
    To avoid these allocations for common simple polygons,
    boost::container::small_vector<4, T> is used, which stores up to
    4 intersections inline. small_vector is a header-only class.
    
    For the documents from #57 (fdo#96728) and #24 (fdo#78728), the
    runtime/memory is significantly reduced (according to /usr/bin/time -v):
    (1) $> pdftoppm -r 18 -aa no runsforever-poppler.pdf
    (2) $> pdftoppm surf-types.pdf
    
    Before/After
                                      runsforever-poppler |   surf-types
    User time (seconds):                2348.08 / 1773.53 |   7.76 /  5.02
    Maximum resident set size (kbytes):   46288 /   45896 |  14076 / 13748
    355fd8d5
Name
Last commit
Last update
..
.gitignore Loading commit data...
Annot.cc Loading commit data...
Annot.h Loading commit data...
Array.cc Loading commit data...
Array.h Loading commit data...
BuiltinFont.cc Loading commit data...
BuiltinFont.h Loading commit data...
BuiltinFontTables.cc Loading commit data...
BuiltinFontTables.h Loading commit data...
CMap.cc Loading commit data...
CMap.h Loading commit data...
CachedFile.cc Loading commit data...
CachedFile.h Loading commit data...
CairoFontEngine.cc Loading commit data...
CairoFontEngine.h Loading commit data...
CairoOutputDev.cc Loading commit data...
CairoOutputDev.h Loading commit data...
CairoRescaleBox.cc Loading commit data...
CairoRescaleBox.h Loading commit data...
Catalog.cc Loading commit data...
Catalog.h Loading commit data...
CertificateInfo.cc Loading commit data...
CertificateInfo.h Loading commit data...
CharCodeToUnicode.cc Loading commit data...
CharCodeToUnicode.h Loading commit data...
CharTypes.h Loading commit data...
CompactFontTables.h Loading commit data...
CurlCachedFile.cc Loading commit data...
CurlCachedFile.h Loading commit data...
CurlPDFDocBuilder.cc Loading commit data...
CurlPDFDocBuilder.h Loading commit data...
DCTStream.cc Loading commit data...
DCTStream.h Loading commit data...
DateInfo.cc Loading commit data...
DateInfo.h Loading commit data...
Decrypt.cc Loading commit data...
Decrypt.h Loading commit data...
Dict.cc Loading commit data...
Dict.h Loading commit data...
Error.cc Loading commit data...
Error.h Loading commit data...
ErrorCodes.h Loading commit data...
FileSpec.cc Loading commit data...
FileSpec.h Loading commit data...
FlateEncoder.cc Loading commit data...
FlateEncoder.h Loading commit data...
FlateStream.cc Loading commit data...
FlateStream.h Loading commit data...
FontEncodingTables.cc Loading commit data...
FontEncodingTables.h Loading commit data...
FontInfo.cc Loading commit data...
FontInfo.h Loading commit data...
Form.cc Loading commit data...
Form.h Loading commit data...
Function.cc Loading commit data...
Function.h Loading commit data...
Gfx.cc Loading commit data...
Gfx.h Loading commit data...
GfxFont.cc Loading commit data...
GfxFont.h Loading commit data...
GfxState.cc Loading commit data...
GfxState.h Loading commit data...
GfxState_helpers.h Loading commit data...
GlobalParams.cc Loading commit data...
GlobalParams.h Loading commit data...
GlobalParamsWin.cc Loading commit data...
Hints.cc Loading commit data...
Hints.h Loading commit data...
JArithmeticDecoder.cc Loading commit data...
JArithmeticDecoder.h Loading commit data...
JBIG2Stream.cc Loading commit data...
JBIG2Stream.h Loading commit data...
JPEG2000Stream.cc Loading commit data...
JPEG2000Stream.h Loading commit data...
JPXStream.cc Loading commit data...
JPXStream.h Loading commit data...
Lexer.cc Loading commit data...
Lexer.h Loading commit data...
Linearization.cc Loading commit data...
Linearization.h Loading commit data...
Link.cc Loading commit data...
Link.h Loading commit data...
LocalPDFDocBuilder.cc Loading commit data...
LocalPDFDocBuilder.h Loading commit data...
MarkedContentOutputDev.cc Loading commit data...
MarkedContentOutputDev.h Loading commit data...
Movie.cc Loading commit data...
Movie.h Loading commit data...
NameToCharCode.cc Loading commit data...
NameToCharCode.h Loading commit data...
NameToUnicodeTable.h Loading commit data...
Object.cc Loading commit data...
Object.h Loading commit data...
OptionalContent.cc Loading commit data...
OptionalContent.h Loading commit data...
Outline.cc Loading commit data...
Outline.h Loading commit data...
OutputDev.cc Loading commit data...
OutputDev.h Loading commit data...
PDFDoc.cc Loading commit data...
PDFDoc.h Loading commit data...
PDFDocBuilder.h Loading commit data...
PDFDocEncoding.cc Loading commit data...
PDFDocEncoding.h Loading commit data...
PDFDocFactory.cc Loading commit data...
PDFDocFactory.h Loading commit data...
PSOutputDev.cc Loading commit data...
PSOutputDev.h Loading commit data...
PSTokenizer.cc Loading commit data...
PSTokenizer.h Loading commit data...
Page.cc Loading commit data...
Page.h Loading commit data...
PageLabelInfo.cc Loading commit data...
PageLabelInfo.h Loading commit data...
PageLabelInfo_p.h Loading commit data...
PageTransition.cc Loading commit data...
PageTransition.h Loading commit data...
Parser.cc Loading commit data...
Parser.h Loading commit data...
PopplerCache.h Loading commit data...
PreScanOutputDev.cc Loading commit data...
PreScanOutputDev.h Loading commit data...
ProfileData.cc Loading commit data...
ProfileData.h Loading commit data...
Rendition.cc Loading commit data...
Rendition.h Loading commit data...
SecurityHandler.cc Loading commit data...
SecurityHandler.h Loading commit data...
SignatureHandler.cc Loading commit data...
SignatureHandler.h Loading commit data...
SignatureInfo.cc Loading commit data...
SignatureInfo.h Loading commit data...
Sound.cc Loading commit data...
Sound.h Loading commit data...
SplashOutputDev.cc Loading commit data...
SplashOutputDev.h Loading commit data...
StdinCachedFile.cc Loading commit data...
StdinCachedFile.h Loading commit data...
StdinPDFDocBuilder.cc Loading commit data...
StdinPDFDocBuilder.h Loading commit data...
Stream-CCITT.h Loading commit data...
Stream.cc Loading commit data...
Stream.h Loading commit data...
StructElement.cc Loading commit data...
StructElement.h Loading commit data...
StructTreeRoot.cc Loading commit data...
StructTreeRoot.h Loading commit data...
TextOutputDev.cc Loading commit data...
TextOutputDev.h Loading commit data...
UTF.cc Loading commit data...
UTF.h Loading commit data...
UnicodeCClassTables.h Loading commit data...
UnicodeCompTables.h Loading commit data...
UnicodeDecompTables.h Loading commit data...
UnicodeMap.cc Loading commit data...
UnicodeMap.h Loading commit data...
UnicodeMapFuncs.cc Loading commit data...
UnicodeMapFuncs.h Loading commit data...
UnicodeMapTables.h Loading commit data...
UnicodeTypeTable.cc Loading commit data...
UnicodeTypeTable.h Loading commit data...
ViewerPreferences.cc Loading commit data...
ViewerPreferences.h Loading commit data...
XRef.cc Loading commit data...
XRef.h Loading commit data...
gen-unicode-tables.py Loading commit data...
poppler-config.h.cmake Loading commit data...