On Mon, Oct 21, 2013 at 11:12 PM, Alexander Korotkov <aekorotkov@gmail.com> wrote:
Attached version of patch is debugged. I would like to note that number of bugs was low and it wasn't very hard to debug. I've rerun tests on it. You can see that numbers are improved as the result of your refactoring.
event | period
-----------------------+-----------------
index_build | 00:01:45.416822
index_build_recovery | 00:00:06
index_update | 00:05:17.263606
index_update_recovery | 00:01:22
search_new | 00:24:07.706482
search_updated | 00:26:25.364494
(6 rows)
label | blocks_mark
----------------+-------------
search_new | 847587636
search_updated | 881210486
(2 rows)
label | size
---------------+-----------
new | 419299328
after_updates | 715915264
(2 rows)
Beside simple bugs, there was a subtle bug in incremental item indexes update. I've added some more comments including ASCII picture about how item indexes are shifted.
Now, I'm trying to implement support of old page format. Then we can decide which approach to use.
Attached version of patch has support of old page format. Patch still needs more documentation and probably refactoring, but I believe idea is clear and it can be reviewed. In the patch I have to revert change of null category placement for compatibility with old posting list format.