Shai Erera wrote:

No - I didn't try to populate an index with real data and run real queries
(what is "real" after all?). I know from my experience of indexes with
several millions of documents where there are queries with several hundred thousands results (one query even hit 2.5 M documents). This is typical in search: users type on average 2.3 terms in a query. The chances you'd hit a query with huge result set are not that small in such cases (I'm not saying this is the most common case though, I agree that most of the searches don't
process that many documents).

Agreed: many queries do hit a great many results. But I agree with Paul:
it's not clear how this "typically" translates into how many ScoreDocs
get created?

However, this change will improve performance from the algorithm point of
view - you allocate as many as numRequestedHits+1 no matter how many
documents your query processes.

It's definitely a good step forward: not creating extra garbage in hot
spots is worthwhile, so I think we should make this change.  Still I'm
wondering how much this helps in practice.

I think benchmarking on "real" use cases (vs synthetic tests) is
worthwhile: it keeps you focused on what really counts, in the end.

In this particular case there are at least 2 things it could show us:

  * How many ScoreDocs really get created, or, what %tg of hits
    actually result in an insertion into the PQ?

  * How much is this savings as a %tg of the overall time spent
    searching?

Mike

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to