1. 1

  2. 1


    KySync is an efficient way to distribute new data which makes use of older (but similar) data that you may already have present locally. KySync supports HTTP v1.1, but can easily be extended to support any server protocol which supports range queries.

    KySync is released under the MIT Open Source License (see COPYING in root of repository).

    KySync is a full rewrite of Zsync in modern C++. While no code was reused from Zsync, the awesome Zsync technical paper was the major resource used for the implementation of KySync.

    The value proposition of KySync over Zsync is that it takes advantage of modern architecture features (multi-core multi-CPU systems as well as exceedingly fast IO subsystems, e.g. NVMe SSDs). KySync is 3x-10x (or more) faster than Zsync on such commonly available modern hardware. We have not spent much time optimizing KySync single-thread performance, so there are cases where with sufficiently high similarity, Zsync is faster when less then 4 threads are used in KySync.

    I shared it because this person did a lot of performance benchmarking and explained nicely how both rsync and zsync work. The claim is a bit flawed though, as in a single thread setting, kysync is slower than zsync.