Re: Enabling Checksums - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Enabling Checksums
Date
Msg-id 20130418060935.GB24426@alap2.anarazel.de
Whole thread Raw
In response to Re: Enabling Checksums  (Ants Aasma <ants@cybertec.at>)
Responses Re: Enabling Checksums
List pgsql-hackers
On 2013-04-18 00:44:02 +0300, Ants Aasma wrote:
> I went ahead and coded up both the parallel FNV-1a and parallel FNV-1a
> + srl1-xor variants and ran performance tests and detection rate tests
> on both.
> 
> Performance results:
> Mul-add checksums: 12.9 bytes/s
> FNV-1a checksums: 13.5 bytes/s
> FNV-1a + srl-1: 7.4 bytes/s
> 
> Detection rates:
> False positive rates:
>                  Add-mul       FNV-1a     FNV-1a + srl-1
> Single bit flip: 1:inf         1:129590   1:64795
> Double bit flip: 1:148         1:511      1:53083
> Triple bit flip: 1:673         1:5060     1:61511
>   Quad bit flip: 1:1872        1:19349    1:68320
> Write 0x00 byte: 1:774538137   1:118776   1:68952
> Write 0xFF byte: 1:165399500   1:137489   1:68958
>   Partial write: 1:59949       1:71939    1:89923
>   Write garbage: 1:64866       1:64980    1:67732
> Write run of 00: 1:57077       1:61140    1:59723
> Write run of FF: 1:63085       1:59609    1:62977
> 
> Test descriptions:
> N bit flip: picks N random non-overlapping bits and flips their value.
> Write X byte: overwrites a single byte with X.
> Partial write: picks a random cut point, overwrites everything from
> there to end with 0x00.
> Write garbage/run of X: picks two random cut points and fills
> everything in between with random values/X bytes.

I don't think this table is complete without competing numbers for
truncated crc-32. Any chance to get that?

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Enabling Checksums
Next
From: Simon Riggs
Date:
Subject: Re: Enabling Checksums