[postgis-devel] New node splitting algorithm for GiST

Paragon Corporation lr at pcorp.us
Wed Nov 14 02:48:48 PST 2012


I don't see why we can't just enable it by default or Paul -- if you really
don't want it default make it a configuration variable.
 
Then it would be easy to have our buildbots just build trunk with a
different configure command. Fussing with .c files is much messier since it
requires changing source and remembering to change back if changes made to
the file (so too risky for buildbot testing).
 
I think for benchmarking comparing 2.0 behavior with new 2.1 will be
sufficient.
 
Just my 2 cents,
Regina

  _____  

From: postgis-devel-bounces at lists.osgeo.org
[mailto:postgis-devel-bounces at lists.osgeo.org] On Behalf Of Alexander
Korotkov
Sent: Wednesday, November 14, 2012 1:19 AM
To: PostGIS Development Discussion
Cc: PostGIS Development Discussion
Subject: Re: [postgis-devel] New node splitting algorithm for GiST


Paul,

Who are expected to try it? I think in current state it's unlikely that
someone would try it until you ask him in person.

Also, ITSM you selected extremely cautious strategy. It would be reasonable
to have a macro if we had some good algorithm of split before. For example,
split algorithm from R*-tree. But "New linear node splitting" sucks so
much... 

------
With best regards,
Alexander Korotkov.


On Wed, Nov 14, 2012 at 2:14 AM, Paul Ramsey <pramsey at opengeo.org> wrote:


This is now on trunk, with a #define KOROTKOV_SPLIT in
gserialized_gist_2d.c to turn it on/off. Some extra testing (you have
to build a new index to get the new split in effect, just querying an
existing index will make no difference at all) to ensure we have
more/better performance would be great.

http://trac.osgeo.org/postgis/ticket/1895

P.


On Sun, Jul 1, 2012 at 8:00 AM, Alexander Korotkov <aekorotkov at gmail.com>
wrote:
> Done: http://trac.osgeo.org/postgis/ticket/1895
>
> ------
> With best regards,
> Alexander Korotkov.
>
> On Sun, Jul 1, 2012 at 5:54 PM, Paragon Corporation <lr at pcorp.us> wrote:
>>
>> Alex,
>>
>> Can you attach this to a ticket.  That way Paul won't forget or one of us
>> can remind him when he does :)
>>
>> http://trac.osgeo.org/postgis/
>>
>> Slate it for 2.1.0
>>
>> Thanks,
>> Regina
>>
>> ________________________________
>> From: postgis-devel-bounces at postgis.refractions.net
>> [mailto:postgis-devel-bounces at postgis.refractions.net] On Behalf Of
>> Alexander Korotkov
>> Sent: Sunday, July 01, 2012 8:33 AM
>> To: PostGIS Development Discussion
>> Subject: Re: [postgis-devel] New node splitting algorithm for GiST
>>
>> On Sat, Jun 30, 2012 at 10:59 PM, Paul Ramsey <pramsey at opengeo.org>
wrote:
>>>
>>> No progress, still an "item of interest" in my list of things I might
>>> do. If you prepare a compile-time conditional patch, I'd be interested
>>> in reviewing and applying it.
>>
>>
>> OK, it's here.
>> Just an small example. Without patch.
>>
>> test=# create index geonames_idx on geonames using gist (point);
>> CREATE INDEX
>> Time: 113796,848 ms
>>
>> test=# explain (analyze, buffers) select * from geonames where point &&
>> 'BOX(34.4671 126.631,34.5023 126.667)'::box2d::geometry;
>>
>> QUERY PLAN
>>
>>
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-------------------------------------------------------------------------
>>  Index Scan using geonames_idx on geonames  (cost=0.00..14.05 rows=2
>> width=128) (actual time=0.589..0.876 rows=11 loops=1)
>>    Index Cond: (point &&
>>
'0103000000010000000500000016FBCBEEC93B4140AAF1D24D62A85F4016FBCBEEC93B4140A
69BC420B0AA5F40F163CC5D4B404140A69BC420B0AA5F40F163CC5D4B404140AAF1D24D62A85
F4016FBCBEEC93B4140AAF1D24D62A85F40'::geometry)
>>    Buffers: shared hit=26
>>  Total runtime: 0.927 ms
>> (4 rows)
>>
>> With patch.
>>
>> test=# create index geonames2_idx on geonames2 using gist (point);
>> CREATE INDEX
>> Time: 118382,076 ms
>>
>> test=# explain (analyze, buffers) select * from geonames2 where point &&
>> 'BOX(34.4671 126.631,34.5023 126.667)'::box2d::geometry;
>>
>>
>> QUERY PLAN
>>
>>
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-------------------------------------------------------------------------
>>  Index Scan using geonames2_idx on geonames2  (cost=0.00..22.40 rows=4
>> width=128) (actual time=0.209..0.225 rows=11 loops=1)
>>    Index Cond: (point &&
>>
'0103000000010000000500000016FBCBEEC93B4140AAF1D24D62A85F4016FBCBEEC93B4140A
69BC420B0AA5F40F163CC5D4B404140A69BC420B0AA5F40F163CC5D4B404140AAF1D24D62A85
F4016FBCBEEC93B4140AAF1D24D62A85F40'::geometry)
>>    Buffers: shared hit=11
>>  Total runtime: 0.276 ms
>> (4 rows)
>>
>> ------
>> With best regards,
>> Alexander Korotkov.
>>
>>
>> _______________________________________________
>> postgis-devel mailing list
>> postgis-devel at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-devel
>>
>
>
> _______________________________________________
> postgis-devel mailing list
> postgis-devel at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-devel
>

_______________________________________________
postgis-devel mailing list
postgis-devel at lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-devel



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-devel/attachments/20121114/d061df81/attachment.html>


More information about the postgis-devel mailing list