postgresql/src/include
Nathan Bossart cb7b2e5e8e Remove some unnecessary optimizations in popcount code.
Over the past few releases, we've added a huge amount of complexity
to our popcount implementations.  Commits fbe327e5b4, 79e232ca01,
8c6653516c, and 25dc485074 did some preliminary refactoring, but
many opportunities remain.  In particular, if we disclaim interest
in micro-optimizing this code for 32-bit builds and in unnecessary
alignment checks on x86-64, we can remove a decent chunk of code.
I cannot find public discussion or benchmarks for the code this
commit removes,  but it seems unlikely that this change will
noticeably impact performance on affected systems.

Suggested-by: John Naylor <johncnaylorls@gmail.com>
Reviewed-by: John Naylor <johncnaylorls@gmail.com>
Discussion: https://postgr.es/m/CANWCAZY7R%2Biy%2Br9YM_sySNydHzNqUirx1xk0tB3ej5HO62GdgQ%40mail.gmail.com
2026-02-12 11:32:49 -06:00
..
access Improve type handling of varlena structures 2026-02-11 07:33:24 +09:00
archive Update copyright for 2026 2026-01-01 13:24:10 -05:00
backup Update copyright for 2026 2026-01-01 13:24:10 -05:00
bootstrap Update copyright for 2026 2026-01-01 13:24:10 -05:00
catalog Add support for INSERT ... ON CONFLICT DO SELECT. 2026-02-12 09:57:04 +00:00
commands Harden _int_matchsel() against being attached to the wrong operator. 2026-02-09 10:14:22 -05:00
common Fix accidentally cast away qualifiers 2026-01-26 16:02:31 +01:00
datatype Update copyright for 2026 2026-01-01 13:24:10 -05:00
executor Adjust style of some debugging macros. 2026-02-06 16:24:21 -06:00
fe_utils Update copyright for 2026 2026-01-01 13:24:10 -05:00
foreign Update copyright for 2026 2026-01-01 13:24:10 -05:00
jit Fix typos and inconsistencies in code and comments 2026-01-05 09:19:15 +09:00
lib Future-proof sort template against undefined behavior 2026-02-07 17:02:35 +07:00
libpq Add password expiration warnings. 2026-02-11 10:36:15 -06:00
mb Replace pg_mblen() with bounds-checked versions. 2026-02-09 12:44:04 +13:00
nodes Add support for INSERT ... ON CONFLICT DO SELECT. 2026-02-12 09:57:04 +00:00
optimizer Store information about Append node consolidation in the final plan. 2026-02-10 17:55:59 -05:00
parser Remove p_is_insert from struct ParseState. 2026-02-12 09:01:42 +00:00
partitioning Update copyright for 2026 2026-01-01 13:24:10 -05:00
pch Update copyright for 2026 2026-01-01 13:24:10 -05:00
port Remove some unnecessary optimizations in popcount code. 2026-02-12 11:32:49 -06:00
portability Remove PG_MMAP_FLAGS from mem.h 2026-01-26 10:52:02 +09:00
postmaster Cleanup for log_min_messages changes in 38e0190ced 2026-02-11 16:38:18 +01:00
regex Update copyright for 2026 2026-01-01 13:24:10 -05:00
replication Use ProcNumber rather than pid in ReplicationSlot 2026-02-10 16:23:05 +02:00
rewrite Update copyright for 2026 2026-01-01 13:24:10 -05:00
snowball Update to latest Snowball sources. 2026-01-05 15:22:37 -05:00
statistics Add support for "mcv" in pg_restore_extended_stats() 2026-01-29 12:14:08 +09:00
storage Move ProcStructLock to the ProcGlobal struct 2026-02-11 16:48:45 +02:00
tcop Separate RecoveryConflictReasons from procsignals 2026-02-10 16:23:08 +02:00
tsearch Replace pg_mblen() with bounds-checked versions. 2026-02-09 12:44:04 +13:00
utils Cleanup for log_min_messages changes in 38e0190ced 2026-02-11 16:38:18 +01:00
.gitignore Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
c.h Improve type handling of varlena structures 2026-02-11 07:33:24 +09:00
fmgr.h Improve type handling of varlena structures 2026-02-11 07:33:24 +09:00
funcapi.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
getopt_long.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
Makefile Fix build inconsistency due to the generation of wait-event code 2026-02-02 08:02:39 +09:00
meson.build Decouple C++ support in Meson's PGXS from LLVM enablement 2026-01-09 10:25:02 +01:00
miscadmin.h Add password expiration warnings. 2026-02-11 10:36:15 -06:00
pg_config.h.in Revert "Change copyObject() to use typeof_unqual" 2026-02-07 10:08:38 +01:00
pg_config_manual.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_getopt.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_trace.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pgstat.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pgtar.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pgtime.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
port.h strnlen() is now required 2026-01-08 08:51:20 +01:00
postgres.h Rename AssertVariableIsOfType to StaticAssertVariableIsOfType 2026-02-03 08:45:24 +01:00
postgres_ext.h Move pg_int64 back to postgres_ext.h 2025-09-16 10:48:56 +02:00
postgres_fe.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
varatt.h Improve type handling of varlena structures 2026-02-11 07:33:24 +09:00
windowapi.h Update copyright for 2026 2026-01-01 13:24:10 -05:00