postgresql/src/backend/access
Nathan Bossart 41c51f0c68 Optimize visibilitymap_count() with AVX-512 instructions.
Commit 792752af4e added infrastructure for using AVX-512 intrinsic
functions, and this commit uses that infrastructure to optimize
visibilitymap_count().  Specificially, a new pg_popcount_masked()
function is introduced that applies a bitmask to every byte in the
buffer prior to calculating the population count, which is used to
filter out the all-visible or all-frozen bits as needed.  Platforms
without AVX-512 support should also see a nice speedup due to the
reduced number of calls to a function pointer.

Co-authored-by: Ants Aasma
Discussion: https://postgr.es/m/BL1PR11MB5304097DF7EA81D04C33F3D1DCA6A%40BL1PR11MB5304.namprd11.prod.outlook.com
2024-04-06 22:58:23 -05:00
..
brin Make the order of the header file includes consistent 2024-03-13 15:07:00 +01:00
common Invent SERIALIZE option for EXPLAIN. 2024-04-03 17:41:57 -04:00
gin Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
gist Merge prune, freeze and vacuum WAL record formats 2024-03-25 14:59:58 +02:00
hash Merge prune, freeze and vacuum WAL record formats 2024-03-25 14:59:58 +02:00
heap Optimize visibilitymap_count() with AVX-512 instructions. 2024-04-06 22:58:23 -05:00
index Enhance nbtree ScalarArrayOp execution. 2024-04-06 11:47:10 -04:00
nbtree Enhance nbtree ScalarArrayOp execution. 2024-04-06 11:47:10 -04:00
rmgrdesc Merge prune, freeze and vacuum WAL record formats 2024-03-25 14:59:58 +02:00
sequence Fix comment thinko in sequence.c 2024-02-27 08:19:39 +09:00
spgist Make the order of the header file includes consistent 2024-03-13 15:07:00 +01:00
table Revert "Custom reloptions for table AM" 2024-04-02 11:29:00 +03:00
tablesample Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
transam Call WaitLSNCleanup() in AbortTransaction() 2024-04-07 00:49:53 +03:00
Makefile Introduce sequence_*() access functions 2024-02-26 16:04:59 +09:00
meson.build Introduce sequence_*() access functions 2024-02-26 16:04:59 +09:00