[ 
https://issues.apache.org/jira/browse/LUCENE-994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12530414
 ] 

[EMAIL PROTECTED] edited comment on LUCENE-994 at 9/26/07 3:48 AM:
-------------------------------------------------------------

Okay, I ran some tests loading about 4000 docs:

autocommit=false, non compound format, mergefactor=3, flushbyram=42, build: 
latest from trunk (yesterday)

new merge policy i load about 30 docs per second:

time for load: 142828ms
time for optimize: 2422ms

LogDocMergePolicy() I load about 50 docs per second:

time for load: 86781ms
optimize: 4891ms

So it looks like optimize is quicker, but I pay for it during the load?

I am not doing anything else special with Lucene that I can think of, and I got 
duplicate results for a much larger load.

Not too easy to pull out the non Lucene parts without just writing a test from 
scratch for Lucene.

- Mark



      was (Author: [EMAIL PROTECTED]):
    Okay, I ran some tests loading about 4000 docs:

autocommit=false, non compound format, mergefactor=3, flushbyram=42, build: 
latest from trunk (yesterday)

new merge policy i load about 30 docs per second:

time for load: 142828ms
time for optimize: 2422ms

LogDocMergePolicy() I load about 50 docs per second:

time for load: 86781ms
optimize: 2422ms

So it looks like optimize is quicker, but I pay for it during the load?

I am not doing anything else special with Lucene that I can think of, and I got 
duplicate results for a much larger load.

Not too easy to pull out the non Lucene parts without just writing a test from 
scratch for Lucene.

- Mark


  
> Change defaults in IndexWriter to maximize "out of the box" performance
> -----------------------------------------------------------------------
>
>                 Key: LUCENE-994
>                 URL: https://issues.apache.org/jira/browse/LUCENE-994
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>    Affects Versions: 2.3
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>            Priority: Minor
>             Fix For: 2.3
>
>         Attachments: LUCENE-994.patch
>
>
> This is follow-through from LUCENE-845, LUCENE-847 and LUCENE-870;
> I'll commit this once those three are committed.
> Out of the box performance of IndexWriter is maximized when flushing
> by RAM instead of a fixed document count (the default today) because
> documents can vary greatly in size.
> Likewise, merging performance should be faster when merging by net
> segment size since, to minimize the net IO cost of merging segments
> over time, you want to merge segments of equal byte size.
> Finally, ConcurrentMergeScheduler improves indexing speed
> substantially (25% in a simple initial test in LUCENE-870) because it
> runs the merges in the backround and doesn't block
> add/update/deleteDocument calls.  Most machines have concurrency
> between CPU and IO and so it makes sense to default to this
> MergeScheduler.
> Note that these changes will break users of ParallelReader because the
> parallel indices will no longer have matching docIDs.  Such users need
> to switch IndexWriter back to flushing by doc count, and switch the
> MergePolicy back to LogDocMergePolicy.  It's likely also necessary to
> switch the MergeScheduler back to SerialMergeScheduler to ensure
> deterministic docID assignment.
> I think the combination of these three default changes, plus other
> performance improvements for indexing (LUCENE-966, LUCENE-843,
> LUCENE-963, LUCENE-969, LUCENE-871, etc.) should make for some sizable
> performance gains Lucene 2.3!

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to