Re: Draft release notes for next week's releases - Mailing list pgsql-hackers

From Peter Geoghegan
Subject Re: Draft release notes for next week's releases
Date
Msg-id CAM3SWZQChGqU4k-S+mNNynXJdrqaJjyZCxOg0cgomwaWk=nHbA@mail.gmail.com
Whole thread Raw
In response to Re: Draft release notes for next week's releases  (Oleg Bartunov <obartunov@gmail.com>)
Responses Re: Draft release notes for next week's releases
List pgsql-hackers
On Mon, Mar 28, 2016 at 12:08 AM, Oleg Bartunov <obartunov@gmail.com> wrote:
> Should we start thinking about ICU ? I compare Postgres with ICU and without
> and found 27x improvement in btree index creation for russian strings. This
> includes effect of abbreviated keys and ICU itself. Also, we'll get system
> independent locale.

I think we should. I want to develop a detailed proposal before
talking about it more, though, because the idea is controversial.

Did you use the FreeBSD ports patch? Do you have your own patch that
you could share?

I'm not surprised that ICU is so much faster, especially now that
UTF-8 is not a second class citizen (it's been possible to build ICU
to specialize all its routines to handle UTF-8 for years now). As you
may know, ICU supports partial sort keys, and sort key compression,
which may have also helped:
http://userguide.icu-project.org/collation/architecture

That page also describes how binary sort keys are versioned, which
allows them to be stored on disk. It says "A common example is the use
of keys to build indexes in databases". We'd be crazy to trust Glibc
strxfrm() to be stable *on disk*, but ICU already cares deeply about
the things we need to care about, because it's used by other database
systems like DB2, Firebird, and in some configurations SQLite [1].

Glibc strxfrm() is not great with codepoints from the Cyrillic
alphabet -- it seems to store 2 bytes per code-point in the primary
weight level. So ICU might also do better in your test case for that
reason.

[1] https://www.sqlite.org/src/artifact?ci=trunk&filename=ext/icu/README.txt
-- 
Peter Geoghegan



pgsql-hackers by date:

Previous
From: Oleg Bartunov
Date:
Subject: Re: Draft release notes for next week's releases
Next
From: Fabien COELHO
Date:
Subject: Re: pgbench stats per script & other stuff