Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(203)

Issue 115435: Store 'diff' bytes by run-length encoding zeros.... (Closed)

Created:
11 years, 7 months ago by sra
Modified:
9 years, 7 months ago
Reviewers:
huanr
CC:
chromium-reviews_googlegroups.com
Visibility:
Public.

Description

Improvements to Courgette's version of bsdiff * Store 'diff' bytes by run-length encoding zeros. This reduces the memory needed to store the zeros by ~30MB for chrome.7z. * Store the control tuple elements in separate streams. The 'extra_bytes' counts are often zero so this brings all the zeros together. The uncompressed patch file is much smaller due to the run-length encoded zeros. It is slightly smaller (3-8%) after compression with lzma. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=16343

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Total comments: 2

Patch Set 4 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+64 lines, -66 lines) Patch
M courgette/courgette.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M courgette/third_party/bsdiff.h View 1 2 3 1 chunk +0 lines, -3 lines 0 comments Download
M courgette/third_party/bsdiff_apply.cc View 1 2 3 5 chunks +36 lines, -34 lines 0 comments Download
M courgette/third_party/bsdiff_create.cc View 1 2 3 8 chunks +27 lines, -28 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
sra
11 years, 7 months ago (2009-05-16 01:57:30 UTC) #1
huanr
11 years, 7 months ago (2009-05-18 18:38:00 UTC) #2
LGTM

http://codereview.chromium.org/115435/diff/1012/1016
File courgette/third_party/bsdiff_apply.cc (right):

http://codereview.chromium.org/115435/diff/1012/1016#newcode72
Line 72: SourceStream* extra_bytes = patch_streams.stream(5);
consider using enum instead of 0-5 since they are used in multiple places.

http://codereview.chromium.org/115435/diff/1012/1016#newcode74
Line 74: //const uint8* control_start = patch_stream->Buffer();
I'd remove it if not needed.

Powered by Google App Engine
This is Rietveld 408576698