Merge lp:~jameinel/bzr/2.0.4-faster-export-343218 into lp:bzr/2.0
Proposed by
John A Meinel
Status: | Merged |
---|---|
Merged at revision: | not available |
Proposed branch: | lp:~jameinel/bzr/2.0.4-faster-export-343218 |
Merge into: | lp:bzr/2.0 |
Diff against target: |
77 lines (+32/-13) 2 files modified
NEWS (+5/-0) bzrlib/export/dir_exporter.py (+27/-13) |
To merge this branch: | bzr merge lp:~jameinel/bzr/2.0.4-faster-export-343218 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Martin Pool | Needs Fixing | ||
Review via email: mp+16210@code.launchpad.net |
To post a comment you must log in.
This is a fairly straightforward fix for bug #343218.
Basically, the dir_exporter code was looping over all entries, and reading the content one-by-one. Instead, this starts by creating all the directories, and then uses 'iter_file_bytes' to request the content for all files and export them.
All the tests still pass, and the performance for 'bzr export' locally can be 2:1 faster, over my local network, I saw 2min drop down to 25s. I didn't try against launchpad.
I'm proposing this against 2.0 because it is a fairly small and localized change. I'm planning a slightly more involved version for the 2.1 series. (refactor into a helper that can be used by the tar exporter, etc.) The main issue there is that we probably *do* care about the order of content for a tarball, espec if we are going to try to use it for the 'pristine tarball' stuff.