Re: Cost of XLogInsert CRC calculations
Mark Cave-Ayland <m.cave-ayland@webbased.co.uk>
From: "Mark Cave-Ayland" <m.cave-ayland@webbased.co.uk>
To: "'Tom Lane'" <tgl@sss.pgh.pa.us>, "'Simon Riggs'" <simon@2ndquadrant.com>
Cc: <pgsql-hackers@postgresql.org>
Date: 2005-05-10T14:13:48Z
Lists: pgsql-hackers
> -----Original Message----- > From: Mark Cave-Ayland [mailto:m.cave-ayland@webbased.co.uk] > Sent: 07 March 2005 11:04 > To: 'tgl@sss.pgh.pa.us' > Cc: 'pgsql-hackers@postgreSQL.org' > Subject: Re: Cost of XLogInsert CRC calculations (cut) > > I suppose that the bulk of the CPU cycles being attributed to > > XLogInsert are going into > the inlined CRC calculations. Maybe we > > need to think twice about the cost/benefit ratio > of using 64-bit > > CRCs to protect xlog records that are often only a few dozen bytes. > > Wow, a 64-bit CRC does seem excessive, especially when going > back to Zmodem days where a 50-100k file seemed to be easily > protected by a 32-bit CRC. I'm sure there are some error > rates somewhere dependent upon the polynomial and the types > of error detected.... Try the following link towards the > bottom: http://www.ee.unb.ca/tervo/ee4253/crc.htm for some > theory on detection rates vs. CRC size. Hi Tom/Simon, I was just researching some articles on compression (zlib) and I saw mention of the Adler-32 algorithm which is supposed to be slightly less accurate than an equivalent CRC calculation but significantly faster to compute. I haven't located a good paper comparing the error rates of the two different checksums, however extending the Adler-32 algorithm up to 64 bits may be a way of increasing the speed at the expense of a slight loss in the accuracy of error detection if we decided that we want to stay at 64 bits as opposed to 32. The following seems to indicate that Adler-32 is at least twice as fast as optimised CRC32: http://www.winimage.com/misc/readfile_test.htm. Kind regards, Mark. ------------------------ WebBased Ltd 17 Research Way Plymouth PL6 8BT T: +44 (0)1752 791021 F: +44 (0)1752 791023 W: http://www.webbased.co.uk