<div dir="ltr"><div dir="ltr">Hi,<div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jun 27, 2021 at 5:55 PM Han Wang <<a href="mailto:hanwgeek@gmail.com">hanwgeek@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi all,</div><div><br></div><div>I am here to share with you my Week3 report. You can also find it at [1]<br></div><div><p style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px"><strong>Coding Phase </strong>:</p><ul style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px"><li style="padding-bottom:0.6001em">Refactor the code structure, moving the hash function to the inline module</li><li style="padding-bottom:0.6001em">Create a pull request and receive suggestions from the community and mentors[2]</li><li style="padding-bottom:0.6001em">Finish the morton hash function</li></ul><div><div>I used `interleave` to implement a Morton(z-order) hash. What's more, I try to return the `x` of a `BOX2DF` as the hash order of the geometry object.</div><div>What is confusing is that the Hilbert hash, the morton hash and the simple `x` show little difference in the performance test. So I think it is necessary to augment our test dataset and use some read world data.<br></div></div></div></div></blockquote><div><br></div><div><br></div><div> - Try something broken from the start, like hash(x). Does it become worse? If not, something is terribly wrong in benchmark code.<br><br> - To check the ordering of the index, you can create an index and then CLUSTER the table using that. Then ST_MakeLine(geom order by ctid) will create a line that follows the objects in the order they're in the index.<br><br> - I hope you're using at least a couple millions of objects. If not, take any OpenStreetMap country (I use Belarus usually), get it to the db (osmium-tool and its osmium export -f pg is good) and index that. </div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div></div><div><br></div></div><p style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px"><strong>Plans for next week</strong>:</p><ul style="color:rgb(0,0,0);font-family:Verdana,Arial,"Bitstream Vera Sans",Helvetica,sans-serif;font-size:13px"><li style="padding-bottom:0.6001em">Create larger random data or use real-world data for testing</li><li style="padding-bottom:0.6001em">Evaluate the stability and efficiency of hash functions</li><li style="padding-bottom:0.6001em">Searching for a more efficient hash function</li></ul></div><div><br></div><div>If you have any questions or suggestions, please let me know.</div><div><br></div><div>[1] <a href="https://trac.osgeo.org/postgis/wiki/ImplementSortingMethodsBeforeGistIndexBuilding" target="_blank">https://trac.osgeo.org/postgis/wiki/ImplementSortingMethodsBeforeGistIndexBuilding</a><br></div><div>[2] <a href="https://github.com/postgis/postgis/pull/619" target="_blank">https://github.com/postgis/postgis/pull/619</a></div><div><br></div><div>Best regards,</div><div>Han</div></div>
_______________________________________________<br>
postgis-devel mailing list<br>
<a href="mailto:postgis-devel@lists.osgeo.org" target="_blank">postgis-devel@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/postgis-devel" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/postgis-devel</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Darafei "Komяpa" Praliaskouski<br>OSM BY Team - <a href="http://openstreetmap.by/" target="_blank">http://openstreetmap.by/</a><br></div></div></div>