From: | Alexander Borisov <lex(dot)borisov(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Optimization for lower(), upper(), casefold() functions. |
Date: | 2025-01-30 13:39:53 |
Message-ID: | e7abe9be-1f1a-4fed-9cc3-35be257bab34@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
29.01.2025 23:52, Alexander Borisov пишет:
> Sorry, I made a mistake in the code. It's not worth watching this patch
> yet.
>
The code is fixed, now the patch passes all tests.
Change from the original patch (v1):
Reduce the main table from 3003 to 1677 (duplicates removed) records.
Added records from 0x00 to 0x80 for fast path.
Renamed get_case() function to pg_unicode_case_index().
Benchmark numbers have changed a bit.
casefold() test.
* macOS 15.1 (Apple M3 Pro) (Apple clang version 16.0.0)
ASCII:
Repeated characters (700kb) in the range from 0x20 to 0x7E.
Patch: tps = 270.044184
Without: tps = 259.185352
Cyrillic:
Repeated characters (1MB) in the range from 0x0410 to 0x042F.
Patch: tps = 84.120857
Without: tps = 48.731075
Unicode:
A query consisting of all Unicode characters from 0xA0 to 0x2FA1D
(excluding 0xD800..0xDFFF).
Patch: tps = 101.010641
Without: tps = 91.539395
* Ubuntu 24.04.1 (Intel(R) Xeon(R) Gold 6140) (gcc version 13.3.0)
ASCII:
Repeated characters (700kb) in the range from 0x20 to 0x7E.
Patch: tps = 141.719239
Without: tps = 121.453662
Cyrillic:
Repeated characters (1MB) in the range from 0x0410 to 0x042F.
Patch: tps = 44.062579
Without: tps = 24.999893
Unicode:
A query consisting of all Unicode characters from 0xA0 to 0x2FA1D
(excluding 0xD800..0xDFFF).
Patch: tps = 55.633318
Without: tps = 46.321490
--
SberTech
Alexander Borisov
Attachment | Content-Type | Size |
---|---|---|
v2-0001-Optimization-for-lower-upper-casefold-functions.patch | text/plain | 669.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Ashutosh Sharma | 2025-01-30 13:45:30 | Re: Orphaned users in PG16 and above can only be managed by Superusers |
Previous Message | Bruce Momjian | 2025-01-30 13:26:54 | Re: Parameter NOT NULL to CREATE DOMAIN not the same as CHECK (VALUE IS NOT NULL) |