<div dir="ltr"><div></div><div></div><div></div><div>Hi all,<br></div><div>I am here to share with you my Week4 report. You can also find it at [1]<br></div><div><h3 id="m_8815158747235209100m_-9038623857676051856gmail-CodingWeek428thJune-4thJuly" style="font-family:Arial,Verdana,"Bitstream Vera Sans",Helvetica,sans-serif;letter-spacing:-0.018em;break-after:avoid;font-size:14px;border-bottom:1px dashed rgb(221,221,221);padding:0.2em 0.3em 0.1em;color:rgb(0,0,0)">Coding Week 4 (28th June - 4th July)<a href="https://trac.osgeo.org/postgis/wiki/ImplementSortingMethodsBeforeGistIndexBuilding#CodingWeek428thJune-4thJuly" title="链接到这一节" style="text-decoration-line:none;color:rgb(215,215,215);border:none;font-size:0.8em;vertical-align:text-top" target="_blank"></a></h3><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>Finish hash function</li><li>Create the <code style="color:rgb(102,0,0);border:1px solid rgb(238,221,204);border-radius:0.25em;padding:0px 0.3em;background:rgb(250,250,250)">FlameGraph</code> for CPU time analysis</li><li>Keep bounding with community</li></ul><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>Check the performance of the hash function in detail</li><li>Prepare for evaluation of performance and logic</li></ul><div><font color="#000000" face="Verdana, Arial, Bitstream Vera Sans, Helvetica, sans-serif"><br></font></div></div><div>In summary, the `Hilbert hash function` occupies about 5% time in the `gist build` process in the case of `O0`. And the different hash function seems to have a similar time consumption. So it is necessary to use flame graph to check the CPU time of the hash function and the index building afterwards. <br></div><div><br></div><div><font color="#000000" face="Verdana, Arial, Bitstream Vera Sans, Helvetica, sans-serif">Moreover, like Darafei said,</font></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> - IO access ("buffers") in explain. Since you're working on changing the index creation algorithm the interesting thing will be to minimize the number of buffers accessed on the queries after the index is created. This is available in the EXPLAIN output and can be checked in the test suite. To get a quick idea of how much it will take in realistic amazon deployment, assume each 1000 buffers will take 1 second on a fully saturated system (your laptop is likely much faster).</blockquote><div>It is important to apply `EXPLAIN` in the query after index building to check the io bound of the index in the way of checking the buffer number. </div><div><br></div><div>If you have any questions or suggestions, please let me know. You can also see me in the matrix.</div><div><br></div><div>Best regards,</div><div>Han</div></div>