Recent submissions

Comment · 5 years ago
Comment · 5 years ago
I can see your point. We really need to run some experiments in S3 to satisfy this point rigorously.

Intuitively, the more similar the files are, the more 3x-10x+ will be representative in the real world. As the files become more and more different, one is of course at the mercy of the bandwidth between the computers. If you need to transfer 1 GiB differences over 1 MiB/s connection, it will take ~1000 seconds -- no magical way around it.

The comparison so far is practically on the computational cost of the sync, which can be significant as differences pile up.

Comment · 5 years ago
Comment · 5 years ago
Yup! Will be looking at that one of the following nights.

It is so convenient to edit in Notion, but I share the frustration about paging and navigation for reading!

Comment · 5 years ago
Comment · 5 years ago
Comment · 5 years ago
Comment · 5 years ago
Indeed... but thanks for the feedback.

Since the content of the page is pretty stable now, I can probably host it in more normal way than Notion.

Comment · 5 years ago
Thanks for the pointer -- I will look into comparing against bita!
Comment · 5 years ago
If there are specific scenarios that need to be optimized for the use case, please get in touch!
Comment · 5 years ago
Comment · 5 years ago
We should make a clarification... The intent of KySync (as well as Zsync) is to use across systems, not on a single system. KySync supports HTTP (like Zsync) as well as HTTPS (which Zsync does not).

The primary reason to do the performance comparison on a single system, is so that the results are easy to replicate with as little setup as possible. Because we do this for both KySync and Zsync it is apples to apples.

HTTP bandwidth and storage cost money, and this is self funded project, so I can't afford to put up test files of data publicly visible to the world.

One thing we can look into is leverage AWS/S3 to upload some data and use it for a performance experiment, but that will need some logistics for the developer to set their AWS account properly. Will look into it.

Of course, the more similar the files are, the closer the remote results will be to this first set we published.

Comment · 5 years ago
[Intro](https://kyall.notion.site/KySync-v1-0-29eaad446308449a8c9a23...)

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](https://github.com/kyotov/kysync/releases) under the MIT Open Source License (see [COPYING](https://github.com/kyotov/ksync/blob/master/COPYING) in root of repository).

KySync is a full rewrite of [Zsync](http://zsync.moria.org.uk/) in modern C++. While no code was reused from Zsync, the awesome [Zsync technical paper](http://zsync.moria.org.uk/paper200503/) 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.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton