postgresql/src/include
Heikki Linnakangas 025c02420d Speed up CRC calculation using slicing-by-8 algorithm.
This speeds up WAL generation and replay. The new algorithm is
significantly faster with large inputs, like full-page images or when
inserting wide rows. It is slower with tiny inputs, i.e. less than 10 bytes
or so, but the speedup with longer inputs more than make up for that. Even
small WAL records at least have 24 byte header in the front.

The output is identical to the current byte-at-a-time computation, so this
does not affect compatibility. The new algorithm is only used for the
CRC-32C variant, not the legacy version used in tsquery or the
"traditional" CRC-32 used in hstore and ltree. Those are not as performance
critical, and are usually only applied over small inputs, so it seems
better to not carry around the extra lookup tables to speed up those rare
cases.

Abhijit Menon-Sen
2015-02-10 10:54:40 +02:00
..
access Minor cleanup/code review for "indirect toast" stuff. 2015-02-09 12:30:52 -05:00
bootstrap Update copyright for 2015 2015-01-06 11:43:47 -05:00
catalog Move pg_crc.c to src/common, and remove pg_crc_tables.h 2015-02-09 11:17:56 +02:00
commands Introduce and use infrastructure for interrupt processing during client reads. 2015-02-03 22:25:20 +01:00
common Speed up CRC calculation using slicing-by-8 algorithm. 2015-02-10 10:54:40 +02:00
datatype Update copyright for 2015 2015-01-06 11:43:47 -05:00
executor Update copyright for 2015 2015-01-06 11:43:47 -05:00
foreign Update copyright for 2015 2015-01-06 11:43:47 -05:00
lib Use abbreviated keys for faster sorting of text datums. 2015-01-19 15:28:27 -05:00
libpq Be more careful to not lose sync in the FE/BE protocol. 2015-02-02 17:09:53 +02:00
mb Update copyright for 2015 2015-01-06 11:43:47 -05:00
nodes Update copyright for 2015 2015-01-06 11:43:47 -05:00
optimizer Update copyright for 2015 2015-01-06 11:43:47 -05:00
parser Prevent duplicate escape-string warnings when using pg_stat_statements. 2015-01-22 18:11:00 -05:00
port Add strxfrm_l to list of functions where Windows adds an underscore. 2015-01-20 10:52:01 -05:00
portability Update copyright for 2015 2015-01-06 11:43:47 -05:00
postmaster Add new function BackgroundWorkerInitializeConnectionByOid. 2015-02-02 16:23:59 -05:00
regex Update copyright for 2015 2015-01-06 11:43:47 -05:00
replication Replace walsender's latch with the general shared latch. 2015-01-17 13:00:42 +01:00
rewrite Fix column-privilege leak in error-message paths 2015-01-28 12:31:30 -05:00
snowball Update copyright for 2015 2015-01-06 11:43:47 -05:00
storage Remove the option to service interrupts during PGSemaphoreLock(). 2015-02-03 23:25:00 +01:00
tcop Process 'die' interrupts while reading/writing from the client socket. 2015-02-03 22:45:45 +01:00
tsearch Move pg_crc.c to src/common, and remove pg_crc_tables.h 2015-02-09 11:17:56 +02:00
utils Move pg_crc.c to src/common, and remove pg_crc_tables.h 2015-02-09 11:17:56 +02:00
.gitignore Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
Makefile Install all headers for the new atomics API. 2014-10-02 16:52:21 +02:00
c.h Align buffer descriptors to cache line boundaries. 2015-01-29 22:48:45 +01:00
fmgr.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
funcapi.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
getaddrinfo.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
getopt_long.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
miscadmin.h Remove remnants of ImmediateInterruptOK handling. 2015-02-03 23:25:47 +01:00
pg_config.h.in Speed up CRC calculation using slicing-by-8 algorithm. 2015-02-10 10:54:40 +02:00
pg_config.h.win32 Speed up CRC calculation using slicing-by-8 algorithm. 2015-02-10 10:54:40 +02:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_ext.h.win32 Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Use abbreviated keys for faster sorting of text datums. 2015-01-19 15:28:27 -05:00
pg_getopt.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
pg_trace.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
pgstat.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
pgtar.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
pgtime.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
port.h Fix libpq's behavior when /etc/passwd isn't readable. 2015-01-11 12:35:44 -05:00
postgres.h Minor cleanup/code review for "indirect toast" stuff. 2015-02-09 12:30:52 -05:00
postgres_ext.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00
postgres_fe.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
rusagestub.h Update copyright for 2015 2015-01-06 11:43:47 -05:00
windowapi.h Update copyright for 2015 2015-01-06 11:43:47 -05:00