Merge lp:~mbp/bzr/bigstring into lp:bzr
Proposed by
Martin Pool
Status: | Rejected |
---|---|
Rejected by: | Martin Packman |
Proposed branch: | lp:~mbp/bzr/bigstring |
Merge into: | lp:bzr |
Diff against target: |
236 lines (+162/-4) 5 files modified
bzrlib/bigstring.py (+90/-0) bzrlib/groupcompress.py (+18/-4) bzrlib/help_topics/en/debug-flags.txt (+1/-0) bzrlib/tests/__init__.py (+2/-0) bzrlib/tests/test_bigstring.py (+51/-0) |
To merge this branch: | bzr merge lp:~mbp/bzr/bigstring |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Martin Packman (community) | Disapprove | ||
Review via email: mp+83732@code.launchpad.net |
Description of the change
This adds a BigString class that is basically like a list of byte strings that is not bounded by memory.
It is in of bug 890085, memory usage, but it does not yet clearly help with memory usage, so I'm not sure I actually want to merge it. I'm going to propose it here though because it's pretty self-contained.
To post a comment you must log in.
Unmerged revisions
- 6262. By Martin Pool
-
Remove stray pdb call
- 6261. By Martin Pool
-
Show the bigstring temp file name
- 6260. By Martin Pool
-
Use BigString from groupcompress and add some debug help
- 6259. By Martin Pool
-
Add basic BigString implementation
One thing I'm not crazy about here is in almost all cases we're just going to be writing the data to disk anyway, and we carefully use a compressor that supports incremental encoding, but then need all the output in one list anyway. All to support a needlessly abstract API that wants to deal in streams but provide a length header. So, we hurt the common case by writing to disk twice with this change to avoid fixing the higher levels.