Re: improve Chinese locale performance - Mailing list pgsql-hackers

From Greg Stark
Subject Re: improve Chinese locale performance
Date
Msg-id CAM-w4HMTTJDZPgn1RWm_aqs+mV7f86FvdQsCsayJ2QuC6i98nA@mail.gmail.com
Whole thread Raw
In response to Re: improve Chinese locale performance  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: improve Chinese locale performance
Re: improve Chinese locale performance
List pgsql-hackers
On Mon, Jul 22, 2013 at 12:50 PM, Peter Eisentraut <peter_e@gmx.net> wrote:
> I think part of the problem is that we call strcoll for each comparison,
> instead of doing strxfrm once for each datum and then just strcmp for
> each comparison.  That is effectively equivalent to what the proposal
> implements.

Fwiw I used to be a big proponent of using strxfrm. But upon further
analysis I realized it was a real difficult tradeoff. strxrfm saves
potentially a lot of cpu cost but at the expense of expanding the size
of the sort key. If the sort spills to disk or even if it's just
memory bandwidth limited it might actually be slower than doing the
additional cpu work of calling strcoll.

It's hard to see how to decide in advance which way will be faster. I
suspect strxfrm is still the better bet, especially for complex large
character set based locales like Chinese. strcoll might still win by a
large margin on simple mostly-ascii character sets.


-- 
greg



pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: [PATCH] pgbench --throttle (submission 7 - with lag measurement)
Next
From: Amit kapila
Date:
Subject: Re: ALTER SYSTEM SET command to change postgresql.conf parameters (RE: Proposal for Allow postgresql.conf values to be changed via SQL [review])