[Xapian-tickets] [Xapian] #326: Searches with chert are slow, due to slow doclen access
Xapian
nobody at xapian.org
Thu Feb 5 18:13:27 GMT 2009
#326: Searches with chert are slow, due to slow doclen access
---------------------------+------------------------------------------------
Reporter: richard | Owner: richard
Type: defect | Status: assigned
Priority: normal | Milestone: 1.1.0
Component: Backend-Chert | Version: SVN trunk
Severity: normal | Resolution:
Keywords: | Blockedby:
Platform: All | Blocking:
---------------------------+------------------------------------------------
Comment(by richard):
Going back to the original profiling, with full size doclen chunks, 55% of
CPU is spent in unpack_uint(). I've tried optimising this with a version
specialised for uint32, with some success: the patch is in
optimise_unpack_uint.patch. With this patch, the compiler inlines the
calls to unpack_uint(), so it's hard to directly measure the difference,
but search times go from 12.58 seconds to 8.54 seconds, so it's clearly
beneficial. callgrind output with this patch is available at
http://tartarus.org/richard/xapian_perf_analysis/callgrind.out.xapian_search_chert_optimised_unpack_uint_1
This output shows that the main caller of unpack_uint goes from 4.29
billion cycles without the patch, to 1.96 billion with it - more than
doubling its speed.
--
Ticket URL: <http://trac.xapian.org/ticket/326#comment:3>
Xapian <http://xapian.org/>
Xapian
More information about the Xapian-tickets
mailing list