Opened 14 years ago

Closed 14 years ago

#428 closed enhancement (fixed)

Replacing unmodified positions check optimisation

Reported by: Olly Betts Owned by: Olly Betts
Priority: normal Milestone: 1.0.19
Component: Backend-Chert Version: SVN trunk
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Operating System: All

Description

Follow on from #250.

I think we should look at whether it's better to encode the new positions and compare the encoded form with the old encoded form (rather than decode the old form, iterate it and the new form to compare, and if they differ encode the new form) as I suspect that's going to be faster for the "unchanged" case, and it clearly is going to be for the "changed" case.

Internal change, so API and ABI compatible - marking for 1.2.x.

Change History (4)

comment:1 by Olly Betts, 14 years ago

Status: newassigned

Implemented for brass in r14099.

comment:2 by Olly Betts, 14 years ago

Milestone: 1.2.x1.0.19

Backported to chert as r14115.

Added a minor refactor for code clarity a tiny amount of efficiency in r14193 for brass and r14194 for chert.

Backported both changes to flint as r14195.

Something to consider backporting for 1.0.19, so updating milestone.

comment:3 by Olly Betts, 14 years ago

I've just done a test of indexing a database with positions, and then separately indexing the same documents 10 times using replace_document such that each document is replaced with the same contents. In both cases, it is a bit faster with this patch (tested backported to 1.0 and with flint).

comment:4 by Olly Betts, 14 years ago

Resolution: fixed
Status: assignedclosed

Backported for 1.0.19 as r14196.

Note: See TracTickets for help on using tickets.