On Thu, Oct 1, 2009 at 2:56 PM, Earwin Burrfoot <ear...@gmail.com> wrote:
>>> If you're doing a full optimize, you're still using a single thread. Am I 
>>> wrong?
>>
>> Depends on how many merges are required, and, the merge scheduler.  In
>> this case (w/ 7000 segments, which is way too many, normally!),
>> assuming ConcurrentMergeScheduler, multiple threads will be used since
>> many merges will be pending.
>>
>> When it gets down to the last (enormous) merge, it's only one thread.
> I'm speaking about full optimize. Is there any way to do it more
> efficiently then running a single, last (enormous) merge?

I guess we could merge different parts of the index w/ different
threads, if we wanted to push concurrency down into a single merge.

> If you try to parallelize, you're merging some documents several times
> (more work) and killing your disks, as merges are mostly IO-bound.

Actually I've found merging of the postings to be CPU bound.  I think
the priority queue, and decode/encode of vInt, are the big CPU costs.

Mike

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to