From bc0a873b18cd77572c53369e5899134102f93e5e Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Mon, 23 Nov 2009 17:42:45 +0100 Subject: search : Extend "intial burst" optimization to return all results by chunks This way, the user gets a steady (but bursty) stream of reults. We double the chunk size each time since each successive chunk has to redo work from all previous chunks. Of course, the overall time is thereby slower, as the price we pay for increased responsiveness. With a search returning about 17000 thread results I measured a total time of 48.8 seconds before this change and 58.4 seconds afterwards. --- TODO | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'TODO') diff --git a/TODO b/TODO index 65d6c75..da8f7c9 100644 --- a/TODO +++ b/TODO @@ -134,6 +134,11 @@ Add support for configuring "virtual tags" which are a tuple of (tag-name, search-specification). The database is responsible for ensuring that the virtual tag is always consistent. +Think about optimizing chunked searches (max-threads > 0) to avoid +repeating work. That would be saving state from the previous chunk and +reusing it if the next search is the next chunk with the same search +string. + General ------- Audit everything for dealing with out-of-memory (and drop xutil.c). -- cgit v1.2.3