Add a small LRU cache for the JBIG2 symbol dictionary.
authorBo Xu <bo_xu@foxitsoftware.com>
Thu, 18 Dec 2014 01:51:00 +0000 (17:51 -0800)
committerBo Xu <bo_xu@foxitsoftware.com>
Thu, 18 Dec 2014 01:51:00 +0000 (17:51 -0800)
commitbf42dfea544a8ea3269b139e940f3f8eb38f7a27
tree2eedf59a9519706f4d1db486b2ee9571770444ae
parent9f52a10839e62a8b58359d89e6f623cdcb77c71b
Add a small LRU cache for the JBIG2 symbol dictionary.
This reduces rendering time on my test document by over
10 seconds. It is super common for a JBIG2 dictionary to
span multiple pages, so we don't want to decode the same
dictionary over and over again.

Original patch from Jeff Breidenbach (breidenbach@gmail.com)

BUG=https://code.google.com/p/pdfium/issues/detail?id=85
R=bo_xu@foxitsoftware.com, thestig@chromium.org

Review URL: https://codereview.chromium.org/761313004
core/src/fxcodec/jbig2/JBig2_Context.cpp
core/src/fxcodec/jbig2/JBig2_SymbolDict.cpp
core/src/fxcodec/jbig2/JBig2_SymbolDict.h