Re: Enabling Checksums - Mailing list pgsql-hackers

From Greg Smith
Subject Re: Enabling Checksums
Date
Msg-id 5148FCD7.2030703@2ndQuadrant.com
Whole thread Raw
In response to Re: Enabling Checksums  (Daniel Farina <daniel@heroku.com>)
Responses Re: Enabling Checksums  (Simon Riggs <simon@2ndQuadrant.com>)
List pgsql-hackers
On 3/19/13 7:13 PM, Daniel Farina wrote:
> I'm confused. Postgres includes a CRC32 implementation for WAL, does
> it not?  Are you referring to something else?

I'm just pointing out that zlib includes one, too, and they might be 
more motivated/able as a project to chase after Intel's hardware 
acceleration for CRCs one day.  They already have code switching from C 
to assembly to get extra performance out of their longest_match() 
function.  The PostgreSQL CRC code is unlikely to go into twiddling 
assembly code, but zlib--which is usually linked in anyway--will.

And Adler-32 isn't just an option, it's named after a dude who works on 
zlib, and I can see he's already playing with the Intel acceleration by 
some of his recent answers at 
http://stackoverflow.com/users/1180620/mark-adler

I just re-discovered Ross Williams' CRC guide, which was already 
referenced in pg_crc_tables.h, so I think I'm getting close to being 
caught up on all the options here.  Simon suggested the other day that 
we should make the exact checksum mechanism used pluggable at initdb 
time, just some last minute alternatives checking on the performance of 
the real server code.  I've now got the WAL CRC32, the zlib CRC32, and 
the Intel-derived versions Ants hacked on to compare.

-- 
Greg Smith   2ndQuadrant US    greg@2ndQuadrant.com   Baltimore, MD
PostgreSQL Training, Services, and 24x7 Support www.2ndQuadrant.com



pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: Enabling Checksums
Next
From: Ants Aasma
Date:
Subject: Re: Enabling Checksums