WIP: Fast GiST index build
Started by Alexander Korotkovover 14 years ago143 messages
Hackers,
WIP patch of fast GiST index build is attached. Code is dirty and comments
are lacking, but it works. Now it is ready for first benchmarks, which
should prove efficiency of selected technique. It's time to compare fast
GiST index build with repeat insert build on large enough datasets (datasets
which don't fit to cache). There are following aims of testing:
1) Measure acceleration of index build.
2) Measure change in index quality.
I'm going to do first testing using synthetic datasets. Everybody who have
interesting real-life datasets for testing are welcome.
------
With best regards,
Alexander Korotkov.
Attachments:
gist_fast_build-0.0.3.patch.gzapplication/x-gzip; name=gist_fast_build-0.0.3.patch.gzDownload
����M gist_fast_build-0.0.3.patch �<kw�F����h��x �_����{���I������D$a�7;����[��=�$�9�uwuUu���Z�jU��I<��u�w2����P&���O���;9��M�V�Ow����o��q���4��������X��z}[���~8���S��UhR=A}D�n �������(�A=��y���� ����p>��c�;'C7��?�!�?|:����0|������2�4C��t���1���o���4�>r��PZ�};�d�|
�k���>!S�S�D�v��I�����$�bw,�����G��>y�kG&�S9�/��MMlW��Q|��c��n*�(��������D� @<Eu��3�������
��.;�Ap:h������aZ*����Ps�4N���oY�v/���O��(~<��T�OE:�������@����
$ �����h$��L��1O�'b9��w�
W�����b0��I)���D��kZ�R d�P�9 2�3`�x1q��Q� Y� Hz?�;�A��4� ^8L����h}�� G�1����&���8�y8L�(�y!� /2���������u*�d��0b����B|/��*&�t���M�SQ�w��L���(
D�O�y,<�5�$��/M�S���`�E~��85�j�0|��p}�? �������D&l��_��bi�������:47��B��!erk�N�b#���Z��%���?E�e��<�����!�G�D�W����Ex�h:�
f���� H�
f�~2y�E��� V�*��A�in�p`�v2G����O��[��H���X�M�����/'������C�����iK<���%W����V���e��*zN(!����!���M|tg����j-�{�tw��N`��w���$�9 ��"�����LQ��h
��ry;�jA�z�S����O'SS��F���b= 8/�qS�
<�d���{��������A�����w��h���ii�B���V��l���������+7���1���5y�?�(��g�a�i�
oY����d2@
b����V<�����&���>��R���K!<!�(�B�(h��$� l%��!
����#�**��.:#Z��������bz���E/� ��X�^���6EB#��Km��G��hx��i���8�
Yu �n���]����������/@�@<�`PXxn������B�r�RMP1l"�������i\C?�<ky���ni2C� �(�
�e#s�(RF���2���J>���
��iB�7 �fT�GW�� ��������u�oW�<�&:�X�=H���7�9�u7�6iR9kc[��
+����n��"����q�s?N'���
��x����v����n4����4q�R]�4�1���Z�_u���6��� E�d��W�wF�-�s C���ZD#D��YW��������k�H�G�q���z��lgx�wT@��
�J�������������:o�s�&�T���i�U��sC����: �:�����s��>�$� ��a�E��(x�p���=���:_!, ��ZP�Y9��g���� �2�Y{��7 �dO��54�����!cg�N
A(?�)���"�� M�4E��l�N8rW�����C�Z,�e!��1�������#��+`�m'��� 7%}�T����8�[��y&�>cy���2o>@-�6N������-��+�3������x�hF����������=����#.�Y���3��s���HmY��b#���
I��x�����o:�������]e������������F�M�`G����b+�#��j[k�;���j��k��Z&j�6��-�{��N�=���\���[�Ad�f���p����O�����8w���Q75���*��U�����|�^-FFE���P<&
�
�-���<�!t���6�q+#����@�M
?���_�FKJ����A���!��,{��7�q��`W��\"B��|�>�l��X7����N"O�<?��)�� {���p�����q��@�� � Y/�+C&P�?��`�� �@=F��d�>e��,�$�����YW~���p�����
KU�N�[V n�\��0�A0� �W�x88'p\���:��� ��r�@�i���D���V���`n<�P�ms@z��������E���8=\�*��k�v���['�������.V�{�����Ec�uUK�a
!dE`2XoT�I�Z2?TB�7��;��I �W0���A�3.����]�u��cKz���6����������?p��w��l}��v�d�_���D�~�A�K�D��RW/Q(�t�>K����r^��M�������{p�n����L,A@�|P���4��p����L�o8����R�FE~T�a�I�b��p�d>������;
�0Q5������[���$�a^$9_py��!��D^�'�ERWB��s�be�u)���q-N��YB��W*��wL���k9�{Y���a����B!k�9�;��}I$��
g�`_3�4�cj��o���4����nA�����mG�y������[�FJ:�b�����&hU�����MG�>��1���tG�
)gi%�D�;�F+p#C�=_�����)�L��^�Y�'Q��2sWy����n����C��RW��[�����������R���A�\z��./�|���R�f��'QA\���8{{F@�,���-wHbq�����_�Uio�9��-U BB����V�0K�t���<+!kw�������W��eQw����F�W�Y�������.���e]�V������D7������1Z����������w'�Pp����o���[��)
gQ���:��:�� ���L� B����%[����S�h�4����ea_���(�>�_JU�t�8��������X��K���u���:���� v��S�>�m ��l)v�R���l�A��Fln
���&G`���AG�#�h���D����S������f�|��c�B.��9O�;�������[9��9V�����j�(D���Y��D�%�z�O�"�Pdc��]RTY����t\�C.�A��9�r��-�x<�v�H�^F�������+�Y��]b��b�������������a�9:����Yc�
!���%`�XsH��1�,���>���a�����) R�<�x�'p"����*���#�4�y����Kg�J*���������T��������C)>2tU*�� �ke�1
9q�1��(�c���('�X/��1�����y��%;l�;��V����MN�
����l4����+��Q>!��uD]�Q&�!Mp��(3���lsp��sw�v��{b^$BO#^�z�fc��?���'t���r2ptIh��l����}�6P�f�Tq��Y�m����2���CS��[��3�`m�ZM���=ghC6;A�Y4{4P��Eu|&O�^u���V���Q���=;���x���i�
�4Av�P��*����>�"�d�c��>F��\��lzh���C��Hu�ms'�:�E�k�����!��,t�w�����5P�QT/�!.���X`L(Db�����`������ _r��"��Q�@��\�:�%�������9�������@d�#o�xO�UZ��*���
i�Y�x�h@�����%�Z�~�<-��l[���][�?�������/,]A��^eU���� ;��-��Y�Rb��V�`[���0,�'i`���A�)�,K��.�I&�Gp���@�l�6[�QV5_�Z\f��������]�t(�@�ecA��3��?gB0~���������=�����9���a�x�FF�?0����Ss�%"��=y���1��f���
S7��F��P�p[b�Z�R��C��u=
���n�@Fx��yu �a��xC\����@�k�*�~qA �b�a,+�yt�_k5�M��2������n
�sy/�hF������)P�(c����$�m�?N����AD $��ka�9o_
:�3ZzM�s-��e�o��{3��xcfK��4n2t����(��b�S�]�n���o��j��o�Zc�L�d�zS�A�����U��M!�}���� ���m�_Q��5n����Ux�qk�����k���U���*��U���B�~����=�WA�����e,3y��0]@�G~��Rv�v`�qy��_x��Q�?m�����V�-� ��o��Ii +
����[���:�^��:*����Y,���diE�����g���������~R!��������o�"�����A���Ll�P
�C ������>��,|.��������I������/�-9��5aN�����
���'�����w�>Z|���E3�x���,��J�m�b��+<�M�tc�����Y4�#���N��F���|
���,y[�ieD) @��b������9H��\���G�/�w��7���U!+=C�+:C�����UYI�����27�aj��2����������A�p�W�[��D|k����X�~��W�D!5�4�z"Z��:=�M��H���� ��/�n4Or�hTU*xz�H7N�(Z*������|�����Wh�����(mWq�
~�4�M���A��������������
�^����-w�������\1�b`�PC����s�2h���F.������t��b���r+�2����zL�
�������Dn���d�K����a�R�5u@YOm�W��u��y��y�~|J��mJ�|�M\��:�r��{������*����4�o0 xUQkkiV������c[r����}�'_��T��/���U��Yk�y���=s
���^��Aq�V�p]��Z��X�u���*�|"�,�����^�<�2���O{�Jn�u�9�aA�3J�����2���1J�C��7��@r��V1��Z����f'������1
�W(,sm��TX}�^*�-��@�#r�&���uGe>�������h�K��P���x�F� �`� ��������N�vY7���j�C��J�b�)0?��
��K)��Bg��^*�g��@�����"=dV�}����b���ka�6���!X�;s����W���
<*�=����[qm����W1`w����
/��7P��+�����=H���\�1u���8<�����%m����x���C\W��UO� �M��a:�,�M\�7�s����v:��t��[!�~�~<H���o�Qxfh\���"�k3��&.��2_1�xO�R���d����'�W�1�S����na��<��YlWJTE� �Ki��������<����Kj��\r�t�g,��>�����^#7��g4�J��������)����~�m}��� �sZ�������4J���.(;�?�C7�e���o�������5(?��[�R��tQ���ja�h���_���T���}��#���<��
��/���B����~�o"R��!q3��L��.��4��a[��2`?��[$kC�S�=R���Q._;�_�T�?�C�
��N)D�s��i��1���Q��,��T��%S\��`�����\�
z�������)�qt�`��b|���o�c���-�����W�h��*�����(�XA�5l������'���d=R�OD�\�g����f�1�P�%�`Z���[�EM0����k��k�&b�������!
Iy4P(~�k�4�J���>=��Vyg���FX�J�X�q���ld���l�e��������$o.��,c�18�.��h�oY��<���ak,�����M����@��A39*N=�`Ve��;��p���������Q[F�v�|�g(����������&Q5~�q�������Mx�85rv�
� ��p�� r��
�G��� �I4u��G�kl�p������#��@�'���K����,�O��]tZ��{�pQ4T���?�������K7#uh���������X=V/e�������#����;����:!8�m9��co���`��+ ;�,���yt�9�����Z*v�LwO?N���F`�w����k������U�?7���������Q�$s���5����o�>9fD +�H�� ���S
8[W�)_���GH��"Q������P�!�%��0a�GW����}���HGql+`�tgf����]bD��LX�g�
�t0>����h��B�� `o8�\����^��Z���[�K�W9��
X���a�-k;�dy��6�P��q���P�s$��1����@� �4B4 ����Q����q �s'f_>^��l~![��
KpE)-~�_7`j$�"Q�R���lC�C�2u�c.�Y��'$y���%l�^*�l������`��������L����8]��|\��>��KS')�C9�$��*�,m�2�'��7#�TP����di���P�+����}:^�2K��E^H
5u��(�dY�����y9�;t��Vd7y���������kS�l��d����CGGX��`�:�"��h
n�s���B���YDp|�Vzu��F��J�:OXT`�y���� yi�fv�\enX�+yq�/�v���'�G~�9C!��ipx� 9a�-�~�Hu�&:������"����N�{�i��C�O��*R�Qw�/`� w%���o^m����U2
y���M>����+U�j(���Z%]d'��F2
��� �����nr�V���}�?b��:��:��Y����� ����fKw�>�vH'l�AU��������h��^F���AC���d,��9�����]
�
0-���"���,�!�������=\'��������v7�#^�v:��lf�k�!j
P�=�$!�����J�w_�F��e:���B c� c*��w��W�"����;��w 4��h��;+;0��2�"�., Sx�}����cn|����/��5��o����u��d���������w9������K�}�x��s.��|
���!e6�y�
�A���^Bi�I(�\��{jA�+v�����.B����W�r ����������;� J���`j`��sGV���
���:����.v��5���{@�:�1���4eS�Y����G�F7�MYo��/��
S��s�a;d2������w��d��: M��<�����!�fD-���B<)��*�RNJ!�������EY0FT���AG�~S<�B��`��g�!���%�~;��/H]����.t���}���Y}���Q�Hte|���"�d���~�-��ua ������^�b��ao��}��9Ls��I�K~����������{z��[��e\��u
�s�`�
M�D�r�)��r�09���T�k��K&J���P��Z0�����Y���2Or~'��v�"��"����9|[����ygxJ��s�X��~3 N���N.����S%��������,�Z����G\�c�����������M�����Sl�L��8-E��\\����x{��u��
�������wF��0����r+���a�������MNQ:[���`����F�f0�������j�H�w�B����Mm��-�WW��c(k���^����+���d-�y�)�8��R��X��_��o�7JI����� ����c���m=;����1�����J�8�)��^tI�n5Nd��pL��L�`N�?�\b��g�^�X�Qx��8-/��Y�t��Uc�ziZP0�`\~���7s���~���
�����e������2��e���t.�u��I�����i"O�U�{�R��_:���x2��%�h<�D����Y|9Z��:A��Gp�j*O8N8��Lv�mnK�
W����I�p�:_��P#0��#�2�7F�(98c�S������(�b'�lI],��/������>���u�8��(g�g���H��^��WA�x5&��<�;G}#z�������1+s9�p<MPv��x���
w������������.�����N%����pK4i�
��5��9��J����@�b���2*�sc�k���c{����P D��G�:����o� e�����8���X���^���-G���������L���vFa��x���oG�����,���o\z�����xi��������F�[�_�hKj<!G,}�h��Bt<�sIX����L���Z�g[H����p�y;���� 4H�������n��/���Q��5��"��Q��?i�e�&#�9z9��G/��A�ZR��E"�pHB0h��t��zo�i�����;�?1@������>ET�����= �5w���[I��Gji�'� �b�
���yqP��Lc���S�_�@�j�@�j�@hQIV@\w�%�WD��D�O�h�<;E��(��D���-����9���b>]p�L��/J�-���]o�u�j���@�����VY]�^�U�kWY]�����=�&h�w�Ei���c)� r
=&q��TQ �2;�����2�E���������5<�lE�����9>�j��
��#H��5��u�z>a���������*m�C��LJ�w�,x��2R���'��rF�S�P�UW/[�}sAcH;p0��e�O��w�U�<��M�c��*y4�T5S�z
j�q�|^�H
rM���RU���F�%��%�?����WZ�_�g��������[���z[�Wo����mUT_�WT�W��*���VT_-l�Q��:���+����VT�g��C./
e+m!u�U]��lc�p�9�&�����!�������p�?b������8�����I��yY@/3;�<{����l`������\1�ba1��r0+�B��LH@��6Uq�:Q����=�"�"��Na���;6���;�_���\���N� Q+2���[��e$�?�u���<[+3�?��������d����� Z�:>����WPZ����s�������}tr�dD$���0�M��Cbq����h���8������u9��q]z��K:(J���A�A�c���u������_�?�Y�>*g��n��Q� x��/�r����=�8�����_�ww~���_:���/G���M���( �U�&[�Lr�_���;���S3x����_�>\���j���nH��H��F�Xx
�vo����^�x���Wf����R[� *�6]�Nn�������B��V��P�W`G�/�_~ �B�/(�L'��6[�#��]�`+�����������[�Eh���^�+?��Z���(n��D�F3E��*l��f�]��,����bL;�C����H�@P������Z� ���/�% BB!��=�dl��_�����6��INW� $���EsN����$�)����C�g��������3r����6"4|�*��e�Z��*�"X���=NA�Se�Lu^��Y|4X���?��p�z LO-%�i�����}����+w�;�q�7�q�e�N��r���Pb;�FZ2���g�����D:l���������QY��{$��� (��kU������/��=d@��rx���c��*�c��3�m;j[���� 4U|l��U~L��^��6r'�
����E%}�9��>�F��UOe�E�<���~{~��>��w�^�~��g"���-�
D4�~{���oA�:������y!�/a�40�7���?��Ae�dj��{����{����3�>�U�s>�q�@5��mW�Et��H��:��Jrs��K1�E^ �61�c�r �.�#����O�Z��" T�����S��ln��|�j�9d����-v����c-S��Z
����PY��"m��m�u�XI+i�ouM'��>1���:���Z�,s���>���t�g����lf�����H��X��.di�{-�����U��D|���a���'�:&8��[�P��]���������_4"��)� �1�<�W�"x�W�g{��*]����[_�e��g.��^���dg�;��yn=d���*�9������-�=�,
�U�1N9����,kY������[�9��� R{I�O�"S��a��~^F[)���0?�P�S:��NLP�r�4~����j��ND�9�R���p.�2���&L��:�����g�h�������tZ!f���}��b�=���;��p���h�:e�P�k�* #��#�����Q�c]�rH:�#��8���,IM%���� ��[�~U$�)�
Q�c�E���&o���a�:���n�����=�b��*�C��
B[
��h_����-�/��:JAF��#�� ���N0vu_�������4�^�:��!�h`gR4Q�d[�IU�������#��x���@f����{&K��~�\&~MJ�>|���j��+�������Z �����Lw~SN��r(
�~1*O�{��C������l?��V��T�j_����A�m�QSMV���Y)���xE����~������7�&�%�c���}'���~4Rw���+����B�];�w��jK�[8��$pq�{��C��A;���<!{u��_�p��M��W~<p�lG��D��&�:������y4�bC J�~��pX,0�d����������F�|���^W�T��������W3���jw�6��>�#���3�ox�w�gT}!���F�F� :������H��A"�Cmu�������@*Y������i6�O'�S"�����7M�������������F%TO�n$7��������``�]g@��L�GU=9;��C����w��#��������u�/hd������������/�'m{i�*T�'�C��R"��/�n�s�c��E����o`hz�,m��K-'����3l�7]oM�T!����G�����Q�%@"=�#I�w9q�mGN=�'c����)o�R�p�Vh���NJ�@5��q3���s�&y�#>��W��d3�T����u����-F�t_���a��������mK�)/0������S�
�\J��hy�R]tam�}��99o8
��.��@�N0������19�����e9������_�|4�*��/?��o*�;�����,h���o�y�j�����b1x���A��w�e���'�����d�����s/%���Q ������ui������W�?H%�|�������zD���\�Ou�����{eG�56�e�mveR��������O4W+�O<�9�C�*6���4���E/��\�t�f"7HDc�1�P���c*d[ ��w�>����M:�����O�����Z��>>�WIq�ZX0�
>E�%s97��-��c�ST��KwR��<�� ��=W��d����.W��%t%�S����WQ����-�K�O��-�lF�AO�������ID���_"����#N4�Mcy�Z@,�SI�ky-f��T�;��y�!tTRB����������&7���b*�}[��$��j"��~�
%�u8���j������+{`�+�����KE�9ww��XqT2�����,h�� x��S�# Q�F�j� Y>����s��l��he�0���UF5�Q���t����[f�{������������aU]��`�Y�!�r<���o��!:�c�P�rE����H0D����X��4����C4��#�W
��_t�s��q���'cG���dz����i��n�7S�����r����s����v\ ����k�Y���;�� �����c k]�t��s��6n�i�3���TF,���i/
%�v���J(P���4� `u���>��J�w�����!�[Ti9�;z��n���K��j#Z�,�����&q�Q��1��px�)����B�uo��E'���I��n����w� ����+�(L�u�,��7���T/~o����r�8������4�t��y����`z�VI����d���LW��d>�Z��.�R�)t{�������TmQ��frf��Y����"jm��K!��Nk��
��fO�YT�G�#�8�@*����_�x}��iKa������o)z�~�/^J\���,��>��h8�����qX�%�QF!�M���m�F �B���������@Q� CY�n�NTt��>��n5�����Sf�)T��l�D�Y��L���"���$|D��/�������*-� �u��*�~U.7`������QEB*?��!Q�i4��"���Zz�������6��#���c�������@g;��3�7�k�����f��u��"2�����Q��v��;OrO�S�P4Wi�c+�] ��t��pP�����m9T7&��"M����\&�w��a�#�&N��K���O�� m �����:�W��V���<��v ��������FF�����i�2����J��]��FR�YziX?��0��]��9�������Xi��3MW��=��
d
������b��
��s!G��\n_�V[y#�����Px�0��.&�]\��'��Kj�a�d�67b��W4~��A��J����,-uO5 �Ju ��8GQ��6Z������(�a0�Z�C���D� ���2�Dg?F�<���l.E q��P�G9�z�%�I*(���6�����A��9Cr�`�
���s��g���-���h���o��S��:����� ��\��Y���\mkZ���f{��3�N�LZ��~�v�n�����8m�����Kt8a
��t�����d�
\zz ���Lq�{e~[���n�3P�� vj�24b�&Z �<y.>��'��i9��m���|-���Eq���hm������q��j����o�Y������e7��M7���D����'�D���mA#$���'v+6xUL���� �:�:j<�l���^��
�w+>�P�K�Z��?�U�6$�$�%+�U�������
����2��[dU����D�.�x�k����x��5��J������1��u�h5O���d�^g��k���n��T�������J���\��P�T��bU�t{f2��)kV��K�(������WnY��U������
���Gx��{��D�1�>��I(UE���(��9�����Lj����mev�����8��8z3���h������\*�@��l�Rh���~��P9���w���^Q��A�j��d����*��M�2Lh�5
��:'����Uj��+��,�����'2��=|M��Lr��3sD��cM��1W�����|�������r$-�������&W)�a��}��-��f��a#�����R�%���J�Q��"����kKK�b��{�T9�%+�@��u�(\����-�������.d�{���/�_]�sNaf`�b�Ol=������{�&