[PATCH] SSE2/SSSE3 optimized version of get_checksum1() for x86-64

Sebastian Andrzej Siewior rsync at ml.breakpoint.cc
Mon May 18 19:44:18 UTC 2020


On 2020-05-18 17:55:58 [+0200], Jorrit Jongma via rsync wrote:
> I don't disagree that MD5 could (or even should) be replaced so it is
> no longer the bottleneck in several real-world cases (including mine).
> 
> However this patch is not for MD5 performance, rather for the rolling
> checksum rsync uses to match blocks on existing files on both ends to
> reduce transfer size.

Still. You claim in your patch that

| Benchmarks                   C           SSE2        SSSE3
| - Intel i7-7700hq            1850 MB/s   2550 MB/s   4050 MB/s

while xxhash [0] claims on a Core i5-3340M @2.7GHz that:

|Version	Speed on 64-bit	Speed on 32-bit
|XXH64		13.8 GB/s	1.9 GB/s

so using xxhash64 for that work would also boost !x86 platforms.

However your patch has the benefit that no changes are required on the
remote side. I like that.

[0] https://github.com/Cyan4973/xxHash#benchmarks

Sebastian



More information about the rsync mailing list