lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Bridges (Issue Comment Edited) (JIRA)" <j...@apache.org>
Subject [jira] [Issue Comment Edited] (LUCENE-3932) Improve load time of .tii files
Date Thu, 29 Mar 2012 19:40:22 GMT

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

Sean Bridges edited comment on LUCENE-3932 at 3/29/12 7:38 PM:
---------------------------------------------------------------

{quote}What %tg of the time is spent on the decode/encode (after fixing the initial bitEstimate)?{quote}

I've attached a csv of a profiling session with the bitEstimateFix.  The third column is the
important one.

utf8 -> utf 16 is 7% of the time
utf 16 -> utf8 is 16% of the time

writing vlong's is also 16% of the time, 
TermBufer.read() is 17% of the time (24% if you include the call to utf8ToUtf16)
                
      was (Author: sgbridges):
    {quote}What %tg of the time is spent on the decode/encode (after fixing the initial bitEstimate)?{quote}

I've attached a csv of a profiling session with the bitEstimateFix.  The third column is the
important one.

utf8 -> utf 16 is 7% of the time
utf 16 -> utf8 is 16% of the time

writing vlong's is also 16% of the time, 
in TermBufer.read() is 17% of the time (24% if you include the call to utf8ToUtf16)
                  
> Improve load time of .tii files
> -------------------------------
>
>                 Key: LUCENE-3932
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3932
>             Project: Lucene - Java
>          Issue Type: Improvement
>    Affects Versions: 3.5
>         Environment: Linux
>            Reporter: Sean Bridges
>         Attachments: perf.csv
>
>
> We have a large 50 gig index which is optimized as one segment, with a 66 MEG .tii file.
 This index has no norms, and no field cache.
> It takes about 5 seconds to load this index, profiling reveals that 60% of the time is
spent in GrowableWriter.set(index, value), and most of time in set(...) is spent resizing
PackedInts.Mutatable current.
> In the constructor for TermInfosReaderIndex, you initialize the writer with the line,
> {quote}GrowableWriter indexToTerms = new GrowableWriter(4, indexSize, false);{quote}
> For our index using four as the bit estimate results in 27 resizes.
> The last value in indexToTerms is going to be ~ tiiFileLength, and if instead you use,
> {quote}int bitEstimate = (int) Math.ceil(Math.log10(tiiFileLength) / Math.log10(2));
> GrowableWriter indexToTerms = new GrowableWriter(bitEstimate, indexSize, false);{quote}
> Load time improves to ~ 2 seconds.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


Mime
View raw message