pgsql: Exit early from pg_comp_crc32c_pmull for small inputs

From: John Naylor <john(dot)naylor(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Exit early from pg_comp_crc32c_pmull for small inputs
Date: 2026-04-08 06:52:47
Message-ID: E1wAMmM-003Vp8-2O@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Exit early from pg_comp_crc32c_pmull for small inputs

The vectorized path in commit fbc57f2bc had a side effect of putting
more branches in the path taken for small inputs. To reduce risk
of regressions, only proceed with the vectorized path if we can
guarantee that the remaining input after the alignment preamble is
greater than 64 bytes. That also allows removing length checks in
the alignment preamble.

Reviewed-by: Nathan Bossart <nathandbossart(at)gmail(dot)com>
Discussion: https://postgr.es/m/CANWCAZZ48GuLYhJCcTy8TXysjrMVJL6n1n7NP94=iG+t80YKPw@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/948ef7cdc499b5226784a45ef1187ff554bf692a

Modified Files
--------------
src/port/pg_crc32c_armv8.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2026-04-08 07:09:27 pgsql: aio: Adjust I/O worker pool automatically.
Previous Message Thomas Munro 2026-04-08 05:50:11 pgsql: pg_upgrade: Check for unsupported encodings.