Commit Graph

3 Commits (master)

Author SHA1 Message Date
Vitaliy Filippov 9824cb2fb7 Experimental: "cacheless restore" using a seekable stream
Do two passes instead of just sequentially writing all chunks to the standard output.
On the first pass, all "chunk emit" instructions are remembered together with their output
positions indexed by bundle id, and all "byte emit" instructions are executed using seeks.
On the second pass, all remembered "chunk emit" instructions are executed in the bundle
order. This makes zbackup decompress every used bundle only ONCE instead of doing
it (basically the same work) many times while reading different chunks.

This allows for bigger bundle sizes (I use 32M), which reduces the number of files
in the repository and makes it more cloud-storage-sync friendly, and further improves
the compression ratio.
2015-08-20 19:15:10 +03:00
Vladimir Stackov 0631d70c4b Added switch for choosing fast or deep GC 2015-08-19 10:32:16 +03:00
Vladimir Stackov ebe9daa056 Class/headers refactoring, removed dead ZCollect 2015-02-04 14:38:22 +03:00