[Zlib-devel] Causality question
John Reiser
jreiser at bitwagon.com
Fri Mar 15 15:34:30 EDT 2013
> One of the things I am noticing, and that makes me wonder, is
> something that appears to violate causality:
>
> Emitting match for pos 1703, length 6 from 1699
>
> e.g. deflate_slow emits a match that appears to go into the "future".
Think "ripple" (overlapping) matches where a byte-by-byte copy from
smallest index to larger generates enough of the future before it is
copied even farther into the future.
Example: "banana". Match at position= 3, previous position= 1
(delta position= 2), length= 3. "banana"[3] is "in the future"
but is copied from "banana"[1] before being copied to "banana"[5].
The most common example is the output of memset(ptr,0,n) with
n >= (1+ MIN_MATCH).
--
More information about the Zlib-devel
mailing list