Synctory Stepping towards Release
Posted by Jesco Freund at June 19, 2011 8:36 p.m.
Synctory (or libsynctory) is the project I'm currently spending most of my leisure time on. Basically, it implements algorightms similar to librsync. Originally, I developed libsynctory as part of a backup software project, but later decided to continue it as a separate library. The first code was written during my last summer holiday in Denmark, and since then, a lot (of the code) has changed.
Now, after almost one year of rather less steady development, libsynctory is stepping towards release maturity. Today I finally managed to commit a performance test to evaluate how fast libsynctory actually works. Though I immediately discovered a memory leak bug which is not resolved yet, the performance seems to be somewhat satisfactory for a first approach (average runtime in seconds):
+-------------+---------+---------+---------+---------+
| | small | big | huge | giant |
+-------------+---------+---------+---------+---------+
| fingerprint | 0.01 | 6.67 | 33.94 | 67.94 |
+-------------+---------+---------+---------+---------+
| diff | 0.04 | 31.99 | 144.99 | 303.08 |
+-------------+---------+---------+---------+---------+
| synth | 0.02 | 14.11 | 81.01 | 152.82 |
+-------------+---------+---------+---------+---------+
The test was taken by a constant chunk size (512 bytes) for all four file sizes (0.5 MiB, 0.5 GiB, 2.5 GiB, 5.0 GiB). For me, the results illustrate two main conclusions: First, the algorithms of libsynctory seem to scale linearly with the file size (however I would have been surprised if they didn't), and secondly, bigger files require larger chunk sizes to allow a runtime-friendly processing. Therefore, I think the decision to allow individual chunk size adjustmens was a good one.
The way forward seems to be clear by now – some bugs to fix, some man pages to write, and then I'll hopefully be able to produce a first release of libsynctory. As (almost) always in open source projects, any help is appreciated, particularly I am looking for testers on Linux and OpenSolaris. So if you have some spare time, don't hesitate to contact me!
No comments | Defined tags for this entry: development, open source, synctory
Comments
No comments

Content is subject to the conditions of the