From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Neil Conway <neilc(at)samurai(dot)com> |
Cc: | PostgreSQL Patches <pgsql-patches(at)postgresql(dot)org> |
Subject: | Re: equal() perf tweak |
Date: | 2003-11-03 15:04:39 |
Message-ID: | 14277.1067871879@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
Neil Conway <neilc(at)samurai(dot)com> writes:
> This code is inefficient, however: length() requires iterating through
> the entire list, so this code scans both lists twice. The attached patch
> improves this by implementing equal() with a single scan of both lists.
You have effectively reverted the code to its previous slow state.
The problem with what you've done is that it recursively applies equal()
to the list contents, which may take a very large number of cycles, only
to eventually fail because one list is a prefix of the other. The point
of the current coding is to detect that condition before we recurse.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Stephen | 2003-11-03 15:04:52 | Re: Experimental patch for inter-page delay in VACUUM |
Previous Message | Tom Lane | 2003-11-03 15:01:55 | Re: adding support for posix_fadvise() |
From | Date | Subject | |
---|---|---|---|
Next Message | Neil Conway | 2003-11-03 16:47:55 | Re: equal() perf tweak |
Previous Message | Tom Lane | 2003-11-03 15:00:25 | Re: bufmgr code cleanup |