On Fri, May 29, 2020 at 5:59 AM Mark Dilger
<mark.dil...@enterprisedb.com> wrote:
>
> > On May 21, 2020, at 12:12 AM, John Naylor <john.nay...@2ndquadrant.com> 
> > wrote:

> > very picky in general. As a test, it also successfully finds a
> > function for the OS "words" file, the "D" sets of codepoints, and for
> > sets of the first n built-in OIDs, where n > 5.
>
> Prior to this patch, src/tools/gen_keywordlist.pl is the only script that 
> uses PerfectHash.  Your patch adds a second.  I'm not convinced that 
> modifying the PerfectHash code directly each time a new caller needs 
> different multipliers is the right way to go.

Calling it "each time" with a sample size of two is a bit of a
stretch. The first implementation made a reasonable attempt to suit
future uses and I simply made it a bit more robust. In the text quoted
above you can see I tested some scenarios beyond the current use
cases, with key set sizes as low as 6 and as high as 250k.

> Could you instead make them arguments such that gen_keywordlist.pl, 
> generate-unicode_combining_table.pl, and future callers can pass in the 
> numbers they want?  Or is there some advantage to having it this way?

That is an implementation detail that callers have no business knowing about.

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


Reply via email to