New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 834961 link

Starred by 3 users

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Zucchini: Experiment with SKIP operation encoded in FIX data stream in Raw Zucchini

Project Member Reported by huangs@google.com, Apr 19 2018

Issue description

Like BSDiff, Raw Zucchini uses COPY / INSERT / FIX operations to write the "new" file. FIX operation specifies binary differences for bytes. Since it is only used when a correction is needed, so 0 never appears in FIX data stream. This means 0 is a value that can be used to specify something new!

We wish to experiment with using 0 in FIX data stream to represent a new operation: SKIP, which omits a byte in COPY (operation is streamable). SKIP can be repeated to skip multiple bytes.

Using SKIP may allow us to merge multiple adjacent equivalences that arise due to content removal. Other potential use is to have 0 specify an escape character, followed by more elaborate instructions.

The experiment can be conducted by operating directly on patch (using zucchini.js). So the problem is essentially transforming a patch from/to a patch. This means the optimization may be cannibalized by compression -- we won't know unless we try!

 

Comment 1 by huangs@google.com, Apr 19 2018

Cc: hua...@chromium.org

Sign in to add a comment