1. 31 Jul, 2019 1 commit
  2. 21 Jul, 2019 1 commit
    • 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
  3. 20 Jul, 2019 1 commit
  4. 18 Jul, 2019 4 commits
  5. 17 Jul, 2019 2 commits
  6. 16 Jul, 2019 3 commits
  7. 15 Jul, 2019 3 commits
  8. 09 Jul, 2019 3 commits
  9. 06 Jul, 2019 1 commit
  10. 04 Jul, 2019 2 commits
  11. 03 Jul, 2019 6 commits
  12. 01 Jul, 2019 2 commits
  13. 27 Jun, 2019 1 commit
  14. 26 Jun, 2019 3 commits
  15. 21 Jun, 2019 7 commits