Re: Optimization for lower(), upper(), casefold() functions.

Jeff Davis <pgsql@j-davis.com>

From: Jeff Davis <pgsql@j-davis.com>
To: Alexander Borisov <lex.borisov@gmail.com>, Heikki Linnakangas <hlinnaka@iki.fi>, pgsql-hackers@postgresql.org
Date: 2025-02-12T18:56:51Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix headerscheck warning.

  2. Optimization for lower(), upper(), casefold() functions.

  3. Refactor convert_case() to prepare for optimizations.

  4. Improve performance of Unicode {de,re}composition in the backend

On Tue, 2025-02-11 at 23:08 +0300, Alexander Borisov wrote:
> What's the result?
> 
> I would use Range Binary in Unicode case/normalization. The algorithm
> shows good results. Plus it can be customized (increasing/decreasing)
> the table by allowing empty values.
> 
> Also, I got a strong feeling that Encoding could be optimized and
> improved. I am interested in this direction and would try my hand at
> improving Encodings.
> 
> But I can't grab it all at once, it takes a systematic approach.
> I suggest starting with Unicode Case, then Unicode Normalization.
> Then experiment and improve Encoding.

Thank you.

That sounds good to me, I'll start looking at the patch details.

Regards,
	Jeff Davis