pgsql: Use perfect hash for NFC and NFKC Unicode Normalization quick ch

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Use perfect hash for NFC and NFKC Unicode Normalization quick ch
Date: 2020-10-11 10:15:32
Message-ID: E1kRYO4-00070b-Lp@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Use perfect hash for NFC and NFKC Unicode Normalization quick check

This makes the normalization quick check about 30% faster for NFC and
50% faster for NFKC than the binary search used previously. The hash
lookup reuses the existing array of bit fields used for the binary
search to get the quick check property and is generated as part of "make
update-unicode" in src/common/unicode/.

Author: John Naylor
Reviewed-by: Mark Dilger, Michael Paquier
Discussion: https://postgr.es/m/CACPNZCt4fbJ0_bGrN5QPt34N4whv=mszM0LMVQdoa2rC9UMRXA@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/80f8eb79e24d9b7963eaf17ce846667e2c6b6e6f

Modified Files
--------------
.../unicode/generate-unicode_normprops_table.pl | 41 +-
src/common/unicode_norm.c | 48 +-
src/include/common/unicode_normprops_table.h | 1610 +++++++++++++++++++-
src/tools/pgindent/exclude_file_patterns | 5 +
src/tools/pgindent/typedefs.list | 1 +
5 files changed, 1681 insertions(+), 24 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2020-10-11 17:12:40 Re: powerpc pg_atomic_compare_exchange_u32_impl: error: comparison of integer expressions of different signedness (Re: pgsql: For all ppc compilers, implement compare_exchange and) fetch_add
Previous Message Noah Misch 2020-10-11 05:10:43 Re: powerpc pg_atomic_compare_exchange_u32_impl: error: comparison of integer expressions of different signedness (Re: pgsql: For all ppc compilers, implement compare_exchange and) fetch_add