From: | John Naylor <john(dot)naylor(at)enterprisedb(dot)com> |
---|---|
To: | Amit Khandekar <amitdkhan(dot)pg(at)gmail(dot)com> |
Cc: | Andrey Borodin <x4mmm(at)yandex-team(dot)ru>, Pavel Borisov <pashkin(dot)elfe(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Speeding up GIST index creation for tsvectors |
Date: | 2021-03-10 22:55:45 |
Message-ID: | CAFBsxsGveGeZqgZB90USsk7BK91UkEHFQXb_DW62M3GdQ+2y6g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I wrote:
> I'll post a patch soon that builds on that, so you can see what I mean.
I've attached where I was imagining this heading, as a text file to avoid
distracting the cfbot. Here are the numbers I got with your test on the
attached, as well as your 0001, on x86-64 Clang 10, default siglen:
master:
739ms
v3-0001
692ms
attached POC
665ms
The small additional speed up is not worth it, given the code churn and
complexity, so I don't want to go this route after all. I think the way to
go is a simplified version of your 0001 (not 0002), with only a single
function, for gist and intarray only, and a style that better matches the
surrounding code. If you look at my xor functions in the attached text
file, you'll get an idea of what it should look like. Note that it got the
above performance without ever trying to massage the pointer alignment. I'm
a bit uncomfortable with the fact that we can't rely on alignment, but
maybe there's a simple fix somewhere in the gist code.
--
John Naylor
EDB: http://www.enterprisedb.com
Attachment | Content-Type | Size |
---|---|---|
popcount-xor-try-indirection-at-buffer-level.txt | text/plain | 12.2 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tomas Vondra | 2021-03-10 23:03:05 | Re: Columns correlation and adaptive query optimization |
Previous Message | Thomas Munro | 2021-03-10 22:38:07 | Re: fdatasync performance problem with large number of DB files |