lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yonik Seeley (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (LUCENE-1997) Explore performance of multi-PQ vs single-PQ sorting API
Date Thu, 29 Oct 2009 17:35:59 GMT

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

Yonik Seeley edited comment on LUCENE-1997 at 10/29/09 5:34 PM:
----------------------------------------------------------------

Linux odin 2.6.28-16-generic #55-Ubuntu SMP Tue Oct 20 19:48:32 UTC 2009 x86_64 GNU/Linux
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
java -Xms2048M -Xmx2048M -Xbatch -server
Phenom II x4 3GHz (dynamic freq scaling turned off)


||Source||Seg size||Query||Tot hits||Sort||Top N||QPS old||QPS new||Pct change||
|random|balanced|<all>|5000000|rand int|10|24.50|32.66|{color:green}33.3%{color}|
|random|balanced|<all>|5000000|rand int|25|24.48|31.94|{color:green}30.5%{color}|
|random|balanced|<all>|5000000|rand int|50|28.86|31.79|{color:green}10.2%{color}|
|random|balanced|<all>|5000000|rand int|100|29.04|28.63|{color:red}-1.4%{color}|
|random|balanced|<all>|5000000|rand int|500|28.08|23.21|{color:red}-17.3%{color}|
|random|balanced|<all>|5000000|rand int|1000|25.20|19.04|{color:red}-24.4%{color}|
|random|balanced|<all>|5000000|rand string|10|28.34|26.86|{color:red}-5.2%{color}|
|random|balanced|<all>|5000000|rand string|25|26.24|26.60|{color:green}1.4%{color}|
|random|balanced|<all>|5000000|rand string|50|18.33|25.94|{color:green}41.5%{color}|
|random|balanced|<all>|5000000|rand string|100|17.99|25.77|{color:green}43.2%{color}|
|random|balanced|<all>|5000000|rand string|500|17.24|21.80|{color:green}26.5%{color}|
|random|balanced|<all>|5000000|rand string|1000|16.30|18.37|{color:green}12.7%{color}|
|random|balanced|<all>|5000000|country|10|25.15|26.85|{color:green}6.8%{color}|
|random|balanced|<all>|5000000|country|25|25.46|26.82|{color:green}5.3%{color}|
|random|balanced|<all>|5000000|country|50|18.02|26.04|{color:green}44.5%{color}|
|random|balanced|<all>|5000000|country|100|18.10|26.23|{color:green}44.9%{color}|
|random|balanced|<all>|5000000|country|500|17.63|22.34|{color:green}26.7%{color}|
|random|balanced|<all>|5000000|country|1000|17.33|18.46|{color:green}6.5%{color}|
|random|log|<all>|5000000|rand int|10|24.60|32.69|{color:green}32.9%{color}|
|random|log|<all>|5000000|rand int|25|29.35|32.85|{color:green}11.9%{color}|
|random|log|<all>|5000000|rand int|50|29.25|32.23|{color:green}10.2%{color}|
|random|log|<all>|5000000|rand int|100|29.26|28.87|{color:red}-1.3%{color}|
|random|log|<all>|5000000|rand int|500|28.30|24.86|{color:red}-12.2%{color}|
|random|log|<all>|5000000|rand int|1000|25.17|21.14|{color:red}-16.0%{color}|
|random|log|<all>|5000000|rand string|10|25.27|26.96|{color:green}6.7%{color}|
|random|log|<all>|5000000|rand string|25|26.32|26.95|{color:green}2.4%{color}|
|random|log|<all>|5000000|rand string|50|18.28|26.23|{color:green}43.5%{color}|
|random|log|<all>|5000000|rand string|100|18.06|26.23|{color:green}45.2%{color}|
|random|log|<all>|5000000|rand string|500|17.40|22.79|{color:green}31.0%{color}|
|random|log|<all>|5000000|rand string|1000|16.45|19.94|{color:green}21.2%{color}|
|random|log|<all>|5000000|country|10|25.27|26.89|{color:green}6.4%{color}|
|random|log|<all>|5000000|country|25|27.13|26.84|{color:red}-1.1%{color}|
|random|log|<all>|5000000|country|50|26.50|26.17|{color:red}-1.2%{color}|
|random|log|<all>|5000000|country|100|18.00|26.42|{color:green}46.8%{color}|
|random|log|<all>|5000000|country|500|17.75|23.08|{color:green}30.0%{color}|
|random|log|<all>|5000000|country|1000|17.41|20.25|{color:green}16.3%{color}|

Same setup, but no -Xbatch (I've found it slower sometimes):
java -Xms2048M -Xmx2048M -server

||Source||Seg size||Query||Tot hits||Sort||Top N||QPS old||QPS new||Pct change||
|random|balanced|<all>|5000000|rand int|10|27.83|22.38|{color:red}-19.6%{color}|
|random|balanced|<all>|5000000|rand int|25|25.91|23.05|{color:red}-11.0%{color}|
|random|balanced|<all>|5000000|rand int|50|28.72|22.78|{color:red}-20.7%{color}|
|random|balanced|<all>|5000000|rand int|100|28.65|22.12|{color:red}-22.8%{color}|
|random|balanced|<all>|5000000|rand int|500|28.21|18.96|{color:red}-32.8%{color}|
|random|balanced|<all>|5000000|rand int|1000|25.73|16.18|{color:red}-37.1%{color}|
|random|balanced|<all>|5000000|rand string|10|27.83|21.81|{color:red}-21.6%{color}|
|random|balanced|<all>|5000000|rand string|25|23.30|22.30|{color:red}-4.3%{color}|
|random|balanced|<all>|5000000|rand string|50|19.81|22.05|{color:green}11.3%{color}|
|random|balanced|<all>|5000000|rand string|100|19.70|22.04|{color:green}11.9%{color}|
|random|balanced|<all>|5000000|rand string|500|18.77|18.84|{color:green}0.4%{color}|
|random|balanced|<all>|5000000|rand string|1000|17.76|16.21|{color:red}-8.7%{color}|
|random|balanced|<all>|5000000|country|10|26.25|21.85|{color:red}-16.8%{color}|
|random|balanced|<all>|5000000|country|25|26.36|22.30|{color:red}-15.4%{color}|
|random|balanced|<all>|5000000|country|50|20.04|22.17|{color:green}10.6%{color}|
|random|balanced|<all>|5000000|country|100|19.44|22.12|{color:green}13.8%{color}|
|random|balanced|<all>|5000000|country|500|19.38|19.45|{color:green}0.4%{color}|
|random|balanced|<all>|5000000|country|1000|19.00|16.41|{color:red}-13.6%{color}|
|random|log|<all>|5000000|rand int|10|27.89|22.25|{color:red}-20.2%{color}|
|random|log|<all>|5000000|rand int|25|29.01|23.16|{color:red}-20.2%{color}|
|random|log|<all>|5000000|rand int|50|28.79|22.29|{color:red}-22.6%{color}|
|random|log|<all>|5000000|rand int|100|29.51|22.21|{color:red}-24.7%{color}|
|random|log|<all>|5000000|rand int|500|28.43|19.60|{color:red}-31.1%{color}|
|random|log|<all>|5000000|rand int|1000|25.74|17.31|{color:red}-32.8%{color}|
|random|log|<all>|5000000|rand string|10|27.64|22.05|{color:red}-20.2%{color}|
|random|log|<all>|5000000|rand string|25|24.33|22.23|{color:red}-8.6%{color}|
|random|log|<all>|5000000|rand string|50|19.86|22.31|{color:green}12.3%{color}|
|random|log|<all>|5000000|rand string|100|19.67|21.99|{color:green}11.8%{color}|
|random|log|<all>|5000000|rand string|500|19.07|19.65|{color:green}3.0%{color}|
|random|log|<all>|5000000|rand string|1000|17.91|17.33|{color:red}-3.2%{color}|
|random|log|<all>|5000000|country|10|26.54|22.31|{color:red}-15.9%{color}|
|random|log|<all>|5000000|country|25|26.66|21.77|{color:red}-18.3%{color}|
|random|log|<all>|5000000|country|50|26.65|22.33|{color:red}-16.2%{color}|
|random|log|<all>|5000000|country|100|19.48|22.08|{color:green}13.3%{color}|
|random|log|<all>|5000000|country|500|19.21|19.74|{color:green}2.8%{color}|
|random|log|<all>|5000000|country|1000|18.81|17.70|{color:red}-5.9%{color}|


      was (Author: yseeley@gmail.com):
    Linux odin 2.6.28-16-generic #55-Ubuntu SMP Tue Oct 20 19:48:32 UTC 2009 x86_64 GNU/Linux
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Phenom II x4 3GHz (dynamic freq scaling turned off)


||Source||Seg size||Query||Tot hits||Sort||Top N||QPS old||QPS new||Pct change||
|random|balanced|<all>|5000000|rand int|10|24.50|32.66|{color:green}33.3%{color}|
|random|balanced|<all>|5000000|rand int|25|24.48|31.94|{color:green}30.5%{color}|
|random|balanced|<all>|5000000|rand int|50|28.86|31.79|{color:green}10.2%{color}|
|random|balanced|<all>|5000000|rand int|100|29.04|28.63|{color:red}-1.4%{color}|
|random|balanced|<all>|5000000|rand int|500|28.08|23.21|{color:red}-17.3%{color}|
|random|balanced|<all>|5000000|rand int|1000|25.20|19.04|{color:red}-24.4%{color}|
|random|balanced|<all>|5000000|rand string|10|28.34|26.86|{color:red}-5.2%{color}|
|random|balanced|<all>|5000000|rand string|25|26.24|26.60|{color:green}1.4%{color}|
|random|balanced|<all>|5000000|rand string|50|18.33|25.94|{color:green}41.5%{color}|
|random|balanced|<all>|5000000|rand string|100|17.99|25.77|{color:green}43.2%{color}|
|random|balanced|<all>|5000000|rand string|500|17.24|21.80|{color:green}26.5%{color}|
|random|balanced|<all>|5000000|rand string|1000|16.30|18.37|{color:green}12.7%{color}|
|random|balanced|<all>|5000000|country|10|25.15|26.85|{color:green}6.8%{color}|
|random|balanced|<all>|5000000|country|25|25.46|26.82|{color:green}5.3%{color}|
|random|balanced|<all>|5000000|country|50|18.02|26.04|{color:green}44.5%{color}|
|random|balanced|<all>|5000000|country|100|18.10|26.23|{color:green}44.9%{color}|
|random|balanced|<all>|5000000|country|500|17.63|22.34|{color:green}26.7%{color}|
|random|balanced|<all>|5000000|country|1000|17.33|18.46|{color:green}6.5%{color}|
|random|log|<all>|5000000|rand int|10|24.60|32.69|{color:green}32.9%{color}|
|random|log|<all>|5000000|rand int|25|29.35|32.85|{color:green}11.9%{color}|
|random|log|<all>|5000000|rand int|50|29.25|32.23|{color:green}10.2%{color}|
|random|log|<all>|5000000|rand int|100|29.26|28.87|{color:red}-1.3%{color}|
|random|log|<all>|5000000|rand int|500|28.30|24.86|{color:red}-12.2%{color}|
|random|log|<all>|5000000|rand int|1000|25.17|21.14|{color:red}-16.0%{color}|
|random|log|<all>|5000000|rand string|10|25.27|26.96|{color:green}6.7%{color}|
|random|log|<all>|5000000|rand string|25|26.32|26.95|{color:green}2.4%{color}|
|random|log|<all>|5000000|rand string|50|18.28|26.23|{color:green}43.5%{color}|
|random|log|<all>|5000000|rand string|100|18.06|26.23|{color:green}45.2%{color}|
|random|log|<all>|5000000|rand string|500|17.40|22.79|{color:green}31.0%{color}|
|random|log|<all>|5000000|rand string|1000|16.45|19.94|{color:green}21.2%{color}|
|random|log|<all>|5000000|country|10|25.27|26.89|{color:green}6.4%{color}|
|random|log|<all>|5000000|country|25|27.13|26.84|{color:red}-1.1%{color}|
|random|log|<all>|5000000|country|50|26.50|26.17|{color:red}-1.2%{color}|
|random|log|<all>|5000000|country|100|18.00|26.42|{color:green}46.8%{color}|
|random|log|<all>|5000000|country|500|17.75|23.08|{color:green}30.0%{color}|
|random|log|<all>|5000000|country|1000|17.41|20.25|{color:green}16.3%{color}|

  
> Explore performance of multi-PQ vs single-PQ sorting API
> --------------------------------------------------------
>
>                 Key: LUCENE-1997
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1997
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Search
>    Affects Versions: 2.9
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>         Attachments: LUCENE-1997.patch, LUCENE-1997.patch, LUCENE-1997.patch, LUCENE-1997.patch,
LUCENE-1997.patch, LUCENE-1997.patch, LUCENE-1997.patch, LUCENE-1997.patch
>
>
> Spinoff from recent "lucene 2.9 sorting algorithm" thread on java-dev,
> where a simpler (non-segment-based) comparator API is proposed that
> gathers results into multiple PQs (one per segment) and then merges
> them in the end.
> I started from John's multi-PQ code and worked it into
> contrib/benchmark so that we could run perf tests.  Then I generified
> the Python script I use for running search benchmarks (in
> contrib/benchmark/sortBench.py).
> The script first creates indexes with 1M docs (based on
> SortableSingleDocSource, and based on wikipedia, if available).  Then
> it runs various combinations:
>   * Index with 20 balanced segments vs index with the "normal" log
>     segment size
>   * Queries with different numbers of hits (only for wikipedia index)
>   * Different top N
>   * Different sorts (by title, for wikipedia, and by random string,
>     random int, and country for the random index)
> For each test, 7 search rounds are run and the best QPS is kept.  The
> script runs singlePQ then multiPQ, and records the resulting best QPS
> for each and produces table (in Jira format) as output.

-- 
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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message