Commit 89dacd8eba529663ab9c410efffd698b3023a9d6
1 parent
522d2b22
Array optimization fixes performance issues (fixes #305, #311)
Showing
3 changed files
with
16 additions
and
7 deletions
ChangeLog
| 1 | +2019-08-17 Jay Berkenbilt <ejb@ql.org> | |
| 2 | + | |
| 3 | + * Change internal implementation of QPDF arrays to use sparse | |
| 4 | + arrays, which results in using much less memory for arrays with | |
| 5 | + large numbers of nulls. Various files have been encountered in the | |
| 6 | + wild that contains thousands of arrays with millions of nulls. | |
| 7 | + Fixes #305, #311. | |
| 8 | + | |
| 1 | 9 | 2019-07-03 Jay Berkenbilt <ejb@ql.org> |
| 2 | 10 | |
| 3 | 11 | * Non-compatible API change: change | ... | ... |
TODO
manual/qpdf-manual.xml
| ... | ... | @@ -4482,6 +4482,14 @@ print "\n"; |
| 4482 | 4482 | </listitem> |
| 4483 | 4483 | <listitem> |
| 4484 | 4484 | <para> |
| 4485 | + The underlying implementation of QPDF arrays has been | |
| 4486 | + enhanced to be much more memory efficient when dealing with | |
| 4487 | + arrays with lots of nulls. This enables qpdf to use | |
| 4488 | + drastically less memory for certain types of files. | |
| 4489 | + </para> | |
| 4490 | + </listitem> | |
| 4491 | + <listitem> | |
| 4492 | + <para> | |
| 4485 | 4493 | A new helper method |
| 4486 | 4494 | <function>QUtil::read_file_into_memory</function> was added. |
| 4487 | 4495 | </para> | ... | ... |