Speed up hex_encode with bytewise lookup
authorJohn Naylor <john.naylor@postgresql.org>
Wed, 15 Jan 2025 06:28:26 +0000 (13:28 +0700)
committerJohn Naylor <john.naylor@postgresql.org>
Fri, 17 Jan 2025 09:29:25 +0000 (16:29 +0700)
commite24d77080b365265f3c854f64e71518622883678
tree87872eb12aa444393037b26776b0821393e0d399
parent0869ea43e9c2257819e5c8719e28fe3b5c527911
Speed up hex_encode with bytewise lookup

Previously, hex_encode looked up each nibble of the input
separately. We now use a larger lookup table containing the two-byte
encoding of every possible input byte, resulting in a 1/3 reduction
in encoding time.

Reviewed by Tom Lane, Michael Paquier, Nathan Bossart, David Rowley

Discussion: https://postgr.es/m/CANWCAZZvXuJMgqMN4u068Yqa19CEjS31tQKZp_qFFFbgYfaXqQ%40mail.gmail.com
src/backend/utils/adt/encode.c