| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | David Rowley <david(dot)rowley(at)2ndquadrant(dot)com> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: POC: converting Lists into arrays |
| Date: | 2019-02-28 21:49:31 |
| Message-ID: | 481.1551390571@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Here's a rebased version of the main patch.
David Rowley <david(dot)rowley(at)2ndquadrant(dot)com> writes:
> The only thing that I did to manage to speed the patch up was to ditch
> the additional NULL test in lnext(). I don't see why that's required
> since lnext(NULL) would have crashed with the old implementation.
I adopted this idea. I think at one point where I was fooling with
different implementations for foreach(), it was necessary that lnext()
be cool with a NULL input; but as things stand now, it's not.
I haven't done anything else in the performance direction, but am
planning to play with that next.
I did run through all the list_delete_foo callers and fix the ones
that were still busted. I also changed things so that with
DEBUG_LIST_MEMORY_USAGE enabled, list deletions would move the data
arrays around, in hopes of catching more stale-pointer problems.
Depressingly, check-world still passed with that added, even before
I'd fixed the bugs I found by inspection. This does not speak well
for the coverage of our regression tests.
regards, tom lane
| Attachment | Content-Type | Size |
|---|---|---|
| reimplement-List-as-array-2.patch.gz | application/x-gzip | 44.6 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2019-02-28 22:08:49 | Re: Drop type "smgr"? |
| Previous Message | Jeff Janes | 2019-02-28 21:45:15 | Re: Index Skip Scan |