Changes between Version 6 and Version 7 of GoogleSummerCode2021


Ignore:
Timestamp:
Feb 14, 2021, 2:28:19 PM (3 years ago)
Author:
giubro
Comment:

Added further description in the Additional detail section.

Legend:

Unmodified
Added
Removed
Modified
  • GoogleSummerCode2021

    v6 v7  
    4747''Additional detail'':
    4848
    49 Recently this patch <https://commitfest.postgresql.org/29/2276/> which adds
    50 more infrastructure to the GiST has been included in PG14. It should speed
    51 up the build of a GiST index after some (fast) pre-sorting of the data
    52 which needs to be indexed. Some tests for the PG's internal type point
    53 (that uses Zsort as fast pre-sorting of the data) showed that the build is
    54 up to 5 times faster.
     49Recently this patch <https://commitfest.postgresql.org/29/2276/> which adds more infrastructure to the GiST has been included in PostgreSQL 14. It should speed up the build of a GiST index after some (fast) pre-sorting of the data which needs to be indexed. Some tests for the PostgreSQL's internal type point (that uses Zsort of the points as fast pre-sorting of the data) showed that the build is up to 5 times faster.
    5550
    56 I'd like to study a possible implementation for PostGIS data types.
    57 Basically, it would require to add this support function
    58 <https://github.com/glukhovn/postgres/blob/225a49161fae9388651373d4beb8dcba99059339/src/include/access/gist.h#L37>
    59 and this other one
    60 <https://github.com/glukhovn/postgres/blob/225a49161fae9388651373d4beb8dcba99059339/src/include/access/gist.h#L38>
    61 in the operator classes which use the GiST infrastructure (e.g. this one
    62 <https://github.com/postgis/postgis/blob/8b13c3e2f8366d902dbf516ec17de09ae84361f4/postgis/postgis.sql.in#L781>
    63 ).
     51We need to find a possible implementation for PostGIS data types as well, finding the best algorithm to be used to preliminary sort the geometries before the build of the geospatial index. Basically, it would require to add this support function <https://github.com/glukhovn/postgres/blob/225a49161fae9388651373d4beb8dcba99059339/src/include/access/gist.h#L37> and this other one <https://github.com/glukhovn/postgres/blob/225a49161fae9388651373d4beb8dcba99059339/src/include/access/gist.h#L38> in the operator classes which use the GiST infrastructure (e.g. this one <https://github.com/postgis/postgis/blob/8b13c3e2f8366d902dbf516ec17de09ae84361f4/postgis/postgis.sql.in#L781>).
    6452
    65 
     53Tests are needed in order to quantify the improvements in performance during the build of the index, considering the different geometries.