You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Simon Willnauer (Issue Comment Edited) (JIRA)" <ji...@apache.org> on 2011/12/14 15:21:31 UTC

[jira] [Issue Comment Edited] (LUCENE-3648) Speed up SegementDocsEnum by making it more friendly for JIT optimizations

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

Simon Willnauer edited comment on LUCENE-3648 at 12/14/11 2:20 PM:
-------------------------------------------------------------------

here are my benchmark results with that patch:


Multisegment index 20 segments 10M medium wiki documents no deletes:

||Task||QPS-trunk||StdDev trunk||QPS patch||StdDev patch||Pct diff||
|Respell|41.27|1.79|40.62|1.94|-10% - 7%|
|PKLookup|89.89|5.44|88.82|5.52|-12% - 11%|
|Fuzzy2|27.21|1.31|27.04|1.31|-9% - 9%|
|Wildcard|21.42|1.13|21.45|0.90|-8% - 10%|
|SpanNear|3.39|0.13|3.41|0.16|-7% - 9%|
|Fuzzy1|53.48|2.49|53.77|2.31|-8% - 9%|
|SloppyPhrase|2.67|0.11|2.68|0.13|-8% - 10%|
|Phrase|8.98|0.67|9.07|0.73|-13% - 17%|
|Prefix3|16.52|1.04|16.97|0.90|-8% - 15%|
|TermGroup1M|18.50|0.44|19.13|0.45|-1% - 8%|
|TermBGroup1M|24.51|0.57|25.40|0.63|-1% - 8%|
|TermBGroup1M1P|14.92|0.42|15.57|0.55|-2% - 11%|
|AndHighHigh|5.78|0.37|6.15|0.46|-7% - 22%|
|OrHighMed|9.22|0.37|9.85|0.45|-1% - 16%|
|IntNRQ|6.82|0.75|7.32|0.74|-13% - 32%|
|OrHighHigh|5.88|0.27|6.35|0.32|-1% - 18%|
|Term|68.03|3.73|73.70|5.76|-5% - 23%|
|AndHighMed|20.10|1.64|21.78|2.22|-10% - 30%|


Multisegment index 20 segments 10M medium wiki documents with deletes:

||Task||QPS trunk||StdDev trunk||QPS patch||StdDev patch||Pct diff||
|Respell|41.27|1.79|40.62|1.94|-10% - 7%|
|PKLookup|89.89|5.44|88.82|5.52|-12% - 11%|
|Fuzzy2|27.21|1.31|27.04|1.31|-9% - 9%|
|Wildcard|21.42|1.13|21.45|0.90|-8% - 10%|
|SpanNear|3.39|0.13|3.41|0.16|-7% - 9%|
|Fuzzy1|53.48|2.49|53.77|2.31|-8% - 9%|
|SloppyPhrase|2.67|0.11|2.68|0.13|-8% - 10%|
|Phrase|8.98|0.67|9.07|0.73|-13% - 17%|
|Prefix3|16.52|1.04|16.97|0.90|-8% - 15%|
|TermGroup1M|18.50|0.44|19.13|0.45|-1% - 8%|
|TermBGroup1M|24.51|0.57|25.40|0.63|-1% - 8%|
|TermBGroup1M1P|14.92|0.42|15.57|0.55|-2% - 11%|
|AndHighHigh|5.78|0.37|6.15|0.46|-7% - 22%|
|OrHighMed|9.22|0.37|9.85|0.45|-1% - 16%|
|IntNRQ|6.82|0.75|7.32|0.74|-13% - 32%|
|OrHighHigh|5.88|0.27|6.35|0.32|-1% - 18%|
|Term|68.03|3.73|73.70|5.76|-5% - 23%|
|AndHighMed|20.10|1.64|21.78|2.22|-10% - 30%|

executed on Linux with Java Version "1.6.0_26" cmd: java -XX:BiasedLockingStartupDelay=0 -Xms2g -Xmx2g -server


                
      was (Author: simonw):
    here are my benchmark results with that patch:


Multisegment index 20 segments 10M medium wiki documents no deletes:

||Task||QPS-trunk||StdDev trunk||QPS patch||StdDev patch||Pct diff||
|Respell|41.27|1.79|40.62|1.94|-10%-7%|
|PKLookup|89.89|5.44|88.82|5.52|-12%-11%|
|Fuzzy2|27.21|1.31|27.04|1.31|-9%-9%|
|Wildcard|21.42|1.13|21.45|0.90|-8%-10%|
|SpanNear|3.39|0.13|3.41|0.16|-7%-9%|
|Fuzzy1|53.48|2.49|53.77|2.31|-8%-9%|
|SloppyPhrase|2.67|0.11|2.68|0.13|-8%-10%|
|Phrase|8.98|0.67|9.07|0.73|-13%-17%|
|Prefix3|16.52|1.04|16.97|0.90|-8%-15%|
|TermGroup1M|18.50|0.44|19.13|0.45|-1%-8%|
|TermBGroup1M|24.51|0.57|25.40|0.63|-1%-8%|
|TermBGroup1M1P|14.92|0.42|15.57|0.55|-2%-11%|
|AndHighHigh|5.78|0.37|6.15|0.46|-7%-22%|
|OrHighMed|9.22|0.37|9.85|0.45|-1%-16%|
|IntNRQ|6.82|0.75|7.32|0.74|-13%-32%|
|OrHighHigh|5.88|0.27|6.35|0.32|-1%-18%|
|Term|68.03|3.73|73.70|5.76|-5%-23%|
|AndHighMed|20.10|1.64|21.78|2.22|-10%-30%|


Multisegment index 20 segments 10M medium wiki documents with deletes:

||Task||QPS trunk||StdDev trunk||QPS patch||StdDev patch||Pct diff||
|Respell|41.27|1.79|40.62|1.94|-10%-7%|
|PKLookup|89.89|5.44|88.82|5.52|-12%-11%|
|Fuzzy2|27.21|1.31|27.04|1.31|-9%-9%|
|Wildcard|21.42|1.13|21.45|0.90|-8%-10%|
|SpanNear|3.39|0.13|3.41|0.16|-7%-9%|
|Fuzzy1|53.48|2.49|53.77|2.31|-8%-9%|
|SloppyPhrase|2.67|0.11|2.68|0.13|-8%-10%|
|Phrase|8.98|0.67|9.07|0.73|-13%-17%|
|Prefix3|16.52|1.04|16.97|0.90|-8%-15%|
|TermGroup1M|18.50|0.44|19.13|0.45|-1%-8%|
|TermBGroup1M|24.51|0.57|25.40|0.63|-1%-8%|
|TermBGroup1M1P|14.92|0.42|15.57|0.55|-2%-11%|
|AndHighHigh|5.78|0.37|6.15|0.46|-7%-22%|
|OrHighMed|9.22|0.37|9.85|0.45|-1%-16%|
|IntNRQ|6.82|0.75|7.32|0.74|-13%-32%|
|OrHighHigh|5.88|0.27|6.35|0.32|-1%-18%|
|Term|68.03|3.73|73.70|5.76|-5%-23%|
|AndHighMed|20.10|1.64|21.78|2.22|-10%-30%|

executed on Linux with Java Version "1.6.0_26" cmd: java -XX:BiasedLockingStartupDelay=0 -Xms2g -Xmx2g -server


                  
> Speed up SegementDocsEnum by making it more friendly for JIT optimizations
> --------------------------------------------------------------------------
>
>                 Key: LUCENE-3648
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3648
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: core/codecs, core/search
>    Affects Versions: 4.0
>            Reporter: Simon Willnauer
>             Fix For: 4.0
>
>         Attachments: LUCENE-3648.patch
>
>
> Since we moved the bulk reading into the codec ie. make all  bulk reading codec private in LUCENE-3584 we have seen some performance [regression|http://people.apache.org/~mikemccand/lucenebench/Term.html] on different CPUs. I tried to optimize the implementation to make it more eligible for runtime optimizations, tried to make loops JIT friendly by moving out branches where I can, minimize member access in all loops, use final members where possible and specialize the two common cases With & Without LiveDocs.
> I will attache a patch and my benchmark results in a minute.

--
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