search for: char_offset

Displaying 11 results from an estimated 11 matches for "char_offset".

2020 May 19
5
[PATCHv2] SSE2/SSSE3 optimized version of get_checksum1() for x86-64
...)) static inline __m128i sse_maddubs_epi16(__m128i a, __m128i b) { } + +/* + a simple 32 bit checksum that can be updated from either end + (inspired by Mark Adler's Adler-32 checksum) + */ +/* + Original loop per 4 bytes: + s2 += 4*(s1 + buf[i]) + 3*buf[i+1] + 2*buf[i+2] + buf[i+3] + 10*CHAR_OFFSET; + s1 += buf[i] + buf[i+1] + buf[i+2] + buf[i+3] + 4*CHAR_OFFSET; + + SSE2/SSSE3 loop per 32 bytes: + int16 t1[8]; + int16 t2[8]; + for (int j = 0; j < 8; j++) { + t1[j] = buf[j*4 + i] + buf[j*4 + i+1] + buf[j*4 + i+2] + buf[j*4 + i+3]; + t2[j] = 4*buf[j*4 + i] + 3*buf[j*4...
2020 May 18
6
[PATCH] SSE2/SSSE3 optimized version of get_checksum1() for x86-64
...even_epi8(a, b), + sse_mulu_odd_epi8(a, b) + ); +#endif +} + +/* + a simple 32 bit checksum that can be updated from either end + (inspired by Mark Adler's Adler-32 checksum) + */ +/* + Original loop per 4 bytes: + s2 += 4*(s1 + buf[i]) + 3*buf[i+1] + 2*buf[i+2] + buf[i+3] + 10*CHAR_OFFSET; + s1 += buf[i] + buf[i+1] + buf[i+2] + buf[i+3] + 4*CHAR_OFFSET; + + SSE2/SSSE3 loop per 32 bytes: + int16 t1[8]; + int16 t2[8]; + for (int j = 0; j < 8; j++) { + t1[j] = buf[j*4 + i] + buf[j*4 + i+1] + buf[j*4 + i+2] + buf[j*4 + i+3]; + t2[j] = 4*buf[j*4 + i] + 3*buf[j*4...
2020 May 18
0
[PATCH] SSE2/SSSE3 optimized version of get_checksum1() for x86-64
...); > +#endif > +} > + > +/* > + a simple 32 bit checksum that can be updated from either end > + (inspired by Mark Adler's Adler-32 checksum) > + */ > +/* > + Original loop per 4 bytes: > + s2 += 4*(s1 + buf[i]) + 3*buf[i+1] + 2*buf[i+2] + buf[i+3] + > 10*CHAR_OFFSET; > + s1 += buf[i] + buf[i+1] + buf[i+2] + buf[i+3] + 4*CHAR_OFFSET; > + > + SSE2/SSSE3 loop per 32 bytes: > + int16 t1[8]; > + int16 t2[8]; > + for (int j = 0; j < 8; j++) { > + t1[j] = buf[j*4 + i] + buf[j*4 + i+1] + buf[j*4 + i+2] + buf[j*4 + > i+3]; &...
2020 May 20
0
[PATCHv2] SSE2/SSSE3 optimized version of get_checksum1() for x86-64
...m128i a, __m128i b) { } > + > +/* > + a simple 32 bit checksum that can be updated from either end > + (inspired by Mark Adler's Adler-32 checksum) > + */ > +/* > + Original loop per 4 bytes: > + s2 += 4*(s1 + buf[i]) + 3*buf[i+1] + 2*buf[i+2] + buf[i+3] + > 10*CHAR_OFFSET; > + s1 += buf[i] + buf[i+1] + buf[i+2] + buf[i+3] + 4*CHAR_OFFSET; > + > + SSE2/SSSE3 loop per 32 bytes: > + int16 t1[8]; > + int16 t2[8]; > + for (int j = 0; j < 8; j++) { > + t1[j] = buf[j*4 + i] + buf[j*4 + i+1] + buf[j*4 + i+2] + buf[j*4 + i+3]; > +...
2020 May 18
2
[PATCH] SSE2/SSSE3 optimized version of get_checksum1() for x86-64
...gt;> +/* >> + a simple 32 bit checksum that can be updated from either end >> + (inspired by Mark Adler's Adler-32 checksum) >> + */ >> +/* >> + Original loop per 4 bytes: >> + s2 += 4*(s1 + buf[i]) + 3*buf[i+1] + 2*buf[i+2] + buf[i+3] + >> 10*CHAR_OFFSET; >> + s1 += buf[i] + buf[i+1] + buf[i+2] + buf[i+3] + 4*CHAR_OFFSET; >> + >> + SSE2/SSSE3 loop per 32 bytes: >> + int16 t1[8]; >> + int16 t2[8]; >> + for (int j = 0; j < 8; j++) { >> + t1[j] = buf[j*4 + i] + buf[j*4 + i+1] + buf[j*4 + i...
2020 May 18
3
[PATCH] SSE2/SSSE3 optimized version of get_checksum1() for x86-64
What do you base this on? Per https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html : "For the x86-32 compiler, you must use -march=cpu-type, -msse or -msse2 switches to enable SSE extensions and make this option effective. For the x86-64 compiler, these extensions are enabled by default." That reads to me like we're fine for SSE2. As stated in my comments, SSSE3 support must be
2002 Mar 15
1
Weak CheckSum Question
Hi all, I am writing a xdelta-like application as a personal experiment and am busy implementing the rsync protocol, so far so good. I am using C++ templates and creating the algorithms so that operate on any stream, array, etc. through iterators. All seems well except that I am getting a lot of false hits with the weak checksum. When generating checksums of blocksize 1024 on the RedHat 7.1
2009 Sep 24
1
weak checksum
Hi, I'm curious if anybody knows the exact reason why the weak checksum calculation is slightly different to the standard adler-32 checksum as seen for example here http://en.wikipedia.org/wiki/Adler-32 ? Thanks Julian -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.samba.org/pipermail/rsync/attachments/20090924/c4ed210b/attachment.html>
2004 Aug 02
4
reducing memmoves
Attached is a patch that makes window strides constant when files are walked with a constant block size. In these cases, it completely avoids all memmoves. In my simple local test of rsyncing 57MB of 10 local files, memmoved bytes went from 18MB to zero. I haven't tested this for a big variety of file cases. I think that this will always reduce the memmoves involved with walking a large
2002 Aug 05
5
[patch] read-devices
...uf,offset,s->n); + k = buf->m_len; + sum = get_checksum1(buf->m_ptr, k); + s1 = sum & 0xFFFF; s2 = sum >> 16; matches++; break; } null_tag: /* Trim off the first byte from the checksum */ - map = (schar *)map_ptr(buf,offset,k+1); - s1 -= map[0] + CHAR_OFFSET; - s2 -= k * (map[0]+CHAR_OFFSET); + map_ptr(buf,offset,k+1); + if (buf->m_len==0) break; /* encountered EOF */ + s1 -= buf->m_ptr[0] + CHAR_OFFSET; + s2 -= k * (buf->m_ptr[0]+CHAR_OFFSET); /* Add on the next byte (if there is one) to the checksum */ - if (k < (len-offset))...
2004 Jan 17
1
--delete-sent-files (AKA --move-files)
...are identical on +both systems\&. .IP .IP "\fB--ignore-errors\fP" Tells --delete to go ahead and delete files Index: rsync.h --- rsync.h 15 Jan 2004 07:42:27 -0000 1.173 +++ rsync.h 17 Jan 2004 05:04:56 -0000 @@ -39,6 +39,7 @@ incompatible with older versions :-( */ #define CHAR_OFFSET 0 +/* These flags are used during the flist transfer. */ #define FLAG_DELETE (1<<0) #define SAME_MODE (1<<1) @@ -54,9 +55,14 @@ #define HAS_INODE_DATA (1<<9) #define SAME_DEV (1<<10) -/* What flags are relevant after the transfer of the flist is complete? */ +/* Wh...