Re: speed up unicode normalization quick check - Mailing list pgsql-hackers

From John Naylor
Subject Re: speed up unicode normalization quick check
Date
Msg-id CACPNZCufzUxGCFdZ9L_6t2uPpDfqEcTs0e9a-3A_qONcH-=D4A@mail.gmail.com
Whole thread Raw
In response to Re: speed up unicode normalization quick check  (Mark Dilger <mark.dilger@enterprisedb.com>)
Responses Re: speed up unicode normalization quick check  (Mark Dilger <mark.dilger@enterprisedb.com>)
List pgsql-hackers
On Sat, Sep 19, 2020 at 1:46 PM Mark Dilger
<mark.dilger@enterprisedb.com> wrote:

> 0002 and 0003 look good to me.  I like the way you cleaned up a bit with the unicode_norm_props struct, which makes
thecode a bit more tidy, and on my compiler under -O2 it does not generate any extra runtime dereferences, as the
compilercan see through the struct just fine.  My only concern would be if some other compilers might not see through
thestruct, resulting in a runtime performance cost?  I wouldn't even ask, except that qc_hash_lookup is called in a
fairlytight loop. 

(I assume you mean unicode_norm_info) Yeah, that usage was copied from
the keyword list code. I believe it was done for the convenience of
the callers. That is worth something, and so is consistency. That
said, I'd be curious if there is a measurable impact for some
platforms.

>  In your commit message for 0001 you mentioned testing on a multiplicity of compilers.  Did you do that for 0002 and
0003as well? 

For that, I was simply using godbolt.org to test compiling the
multiplications down to shift-and-adds. Very widespread, I only
remember MSVC as not doing it. I'm not sure a few extra cycles would
have been noticeable here, but it can't hurt to have that guarantee.

--
John Naylor                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: Collation versioning
Next
From: Mark Dilger
Date:
Subject: Re: speed up unicode normalization quick check