On Jun 05 12:37:10, stu@spacehopper.org wrote:
> reminded by the dwz mail, rsync would also like to use xxhash if
> available:
>
> 'The xxHash library (https://cyan4973.github.io/xxHash/) provides
> extremely fast checksum functions that can make the "rsync algorithm"
> run much more quickly, especially when matching blocks in large files.
> Installing this development library adds xxhash checksums as the default
> checksum algorithm. You'll need at least v0.8.0 if you want rsync to
> include the full range of its checksum algorithms.'
Thank you for enabling this. I am testing an current/amd64,
rsyncing a 4G dir of video files, about 150-250 MB each.
I am touching the files before every run,
otherwise rsync just finishes almost instantly,
based on the mtime (right?).
$ touch /dload/Catastrophe/S*/*
$ time rsync -Hai4 --del /path/dir/ remote:/path/dir/
Is that a scenario where faster checksums are supposed
to make things faster, matching blocks in large files?
Before:
3m07.07s real 0m20.55s user 0m08.15s system
3m11.96s real 0m19.84s user 0m08.07s system
3m06.73s real 0m19.96s user 0m07.89s system
After:
3m06.68s real 0m19.88s user 0m07.99s system
3m13.86s real 0m19.83s user 0m08.38s system
3m06.63s real 0m20.67s user 0m08.02s system
Jan
> while xxHash does provide standard shared+static libraries, it is more
> commonly used as a "header-only library" (done here and also in dwz)
> so there's no additional run dependency in rsync for this.
>
> ok?
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/net/rsync/Makefile,v
> retrieving revision 1.97
> diff -u -p -r1.97 Makefile
> --- Makefile 5 Jan 2023 21:59:21 -0000 1.97
> +++ Makefile 5 Jun 2023 11:36:48 -0000
> @@ -1,6 +1,7 @@
> COMMENT = mirroring/synchronization over low bandwidth links
>
> DISTNAME = rsync-3.2.7
> +REVISION = 0
> CATEGORIES = net
> HOMEPAGE = https://rsync.samba.org/
>
> @@ -19,12 +20,12 @@ MODULES = lang/python
>
> MODPY_RUNDEP = No
>
> -BUILD_DEPENDS = textproc/py-commonmark${MODPY_FLAVOR}
> +BUILD_DEPENDS = textproc/py-commonmark${MODPY_FLAVOR} \
> + sysutils/xxhash
>
> SEPARATE_BUILD =Yes
> CONFIGURE_STYLE =gnu
> CONFIGURE_ARGS =--disable-lz4 \
> - --disable-xxhash \
> --disable-zstd \
> --with-included-popt \
> --with-included-zlib \
> @@ -33,6 +34,8 @@ CONFIGURE_ARGS =--disable-lz4 \
> --with-rsh=/usr/bin/ssh \
> --with-nobody-user=_rsync \
> --with-nobody-group=_rsync
> +CONFIGURE_ENV +=CPPFLAGS="-I${LOCALBASE}/include -DXXH_INLINE_ALL=1" \
> + ac_cv_search_XXH64_createState=""
>
> .include <bsd.port.arch.mk>
>
> @@ -41,8 +44,7 @@ CONFIGURE_ARGS +=--enable-md5-asm
> .endif
>
> .if ${FLAVOR:Miconv}
> -CONFIGURE_ENV +=CPPFLAGS='-I${LOCALBASE}/include' \
> - LDFLAGS='-L${LOCALBASE}/lib'
> +CONFIGURE_ENV +=LDFLAGS='-L${LOCALBASE}/lib'
> LIB_DEPENDS += converters/libiconv
> WANTLIB += iconv
> .endif
>
>
No comments:
Post a Comment