aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2018-08-12 23:26:40 +0200
committerJay Berkenbilt <ejb@ql.org>2018-08-12 23:45:43 +0200
commit3d6615b2764da759c5b9354c40cd1a32b84ee039 (patch)
tree379048c173cf170100f7d88099dd2758be76f124 /TODO
parent48331b4bdc5b63465604a1201a3b66ea8a793d51 (diff)
downloadqpdf-3d6615b2764da759c5b9354c40cd1a32b84ee039.tar.zst
Pl_Buffer: reduce memory growth (fixes #228)
Rather than keeping a list of buffers for every write, accumulate bytes in a single buffer, doubling the size of the buffer when needed to accommodate new data. This is not the best possible implementation, but the change was implemented in this way to avoid changing the shape of Pl_Buffer and thus breaking backward compatibility.
Diffstat (limited to 'TODO')
-rw-r--r--TODO12
1 files changed, 12 insertions, 0 deletions
diff --git a/TODO b/TODO
index 3c17bafb..2c8f779a 100644
--- a/TODO
+++ b/TODO
@@ -31,6 +31,16 @@ Soon
- See ../misc/broken-files
+Next ABI
+========
+
+Do these things next time we have to break binary compatibility
+
+ * Pl_Buffer's internal structure is not right for what it does. It
+ was modified for greater efficiency, but it was done in a way that
+ preserved binary compatibility, so the implementation is a bit
+ convoluted.
+
Lexical
=======
@@ -72,6 +82,8 @@ directory or that are otherwise not publicly accessible. This includes
things sent to me by email that are specifically not public. Even so,
I find it useful to make reference to them in this list
+ * Pl_TIFFPredictor is pretty slow.
+
* Some test cases on bad fails fail because qpdf is unable to find
the root dictionary when it fails to read the trailer. Recovery
could find the root dictionary and even the info dictionary in