New version of patch. Now, it seems that all code is covered by comments.
Also I'm going to write readme with general description of algorithm. Some
bugs were fixed.
More options were added. Options description is below.
1) fastbuild - whether to fast build algorithm. Default is true.
2) levelstep - step of levels where buffers exists (if levelstep == 1 then
there are buffers on each internal page, if levelstep == 2 then buffers are
only on odd levels and so on). By default it's calculating by
maintenance_work_mem and indexed types.
3) buffersize - size of buffers in pages. By default it's calculating
by levelstep and indexed types.
4) neighborrelocation - whether to relocate buffer on split also between
neighbor buffers (my modification for original algorithm). Improves tree
quality, but produces additional penalty calls. Default is true.
Varying of this options should allow me to undertand tradeoffs better.
------
With best regards,
Alexander Korotkov.