Skip to content

librsync 2.3.1

Compare
Choose a tag to compare
@dbaarda dbaarda released this 19 May 01:06
· 148 commits to master since this release
27f7386

Overview

This is a patch release that adds peformance improvements, updates and tidies documentation, and fixes two build/test bugs on FreeBSD. Upgrading from v2.3.0 is optional for most people, and essential for people using platforms experiencing bugs #198 or #199 .

For an analysis and comparison of performance improvements in librsync with each version see;

https://github.com/dbaarda/librsync-tests/blob/master/RESULTS.rst

Included Changes

  • Fix #198 cmake popt detection using pkg-config and #199 test scripts on FreeBSD. Fixes and tidies FindPOPT.cmake and Findlibb2.cmake to use pkg-config correctly and behave more like official FindPackage() cmake modules. Makes all test scripts use /bin/sh instead of /bin/bash. (dbaarda, mandree #200)

  • Change default block_len to always be a multiple of the blake2b 128 byte blocksize for efficiency. Tidy and update docs to explain using rs_sig_args() and rs_build_hash_table(), add rs_file_*() utils, and document new magic types. Remove really obsolete entries in TODO.md. Update to Doxygen 1.8.16. (dbaarda, #195)

  • Improve hashtable performance by adding a small optional bloom filter, reducing max loadfactor from 80% to 70%, Fix hashcmp_count stats to include comparing against empty buckets. This speeds up deltas by 20%~50%. (dbaarda, #192, #193, #196)

  • Optimize rabinkarp_update() by correctly using unsigned constants and manually unrolling the loop for best performance. (dbaarda, #191)

Known Issues

  • The debian package configs are still very out of date.

  • There is still no documentation on how to compile on or cross-compile for windows. See #171 for help.