kaivalnp commented on PR #16506:
URL: https://github.com/apache/lucene/pull/16506#issuecomment-5261243742

   ### Benchmarks
   
   Cohere v3 vectors, 100K docs, 10K queries, maxConn=64, beamWidth=250, 
topK=100, fanout=100, force merged to 1 segment.
   
   `main`
   
   ```
   quantized  visited  index(s)  index_docs/s  merge(s)  force_merge(s)  
index_size(MB)         filterStrategy  recall  latency(ms)  netCPU  avgCpuCount
          no    12962     19.93       5016.55     22.12           20.83         
 403.01  query-time-pre-filter   0.495        4.301   4.300        1.000
          no     6198     21.58       4633.71     20.02           35.27         
 603.03      index-time-filter   0.995        1.941   1.940        1.000
      8 bits    12994     19.85       5038.04     23.42           28.17         
 502.19  query-time-pre-filter   0.495        5.060   5.059        1.000
      8 bits     6202     21.93       4560.38     23.92           47.01         
 751.75      index-time-filter   0.985        2.411   2.410        1.000
      4 bits    13136     20.35       4915.21     13.21           20.34         
 453.40  query-time-pre-filter   0.495        2.946   2.945        1.000
      4 bits     6279     22.57       4431.25     12.31           33.11         
 678.62      index-time-filter   0.931        1.288   1.287        0.999
      2 bits    13667     20.51       4875.43     13.71           20.74         
 429.31  query-time-pre-filter   0.489        2.387   2.386        1.000
      2 bits     6587     22.28       4487.73     12.31           32.34         
 642.48      index-time-filter   0.842        0.960   0.960        0.999
      1 bits    15227     19.60       5101.26     11.41           17.39         
 418.30  query-time-pre-filter   0.452        1.996   1.995        1.000
      1 bits     7412     22.28       4488.13     10.21           28.86         
 625.90      index-time-filter   0.726        0.893   0.892        0.999
   ```
   
   This PR
   
   ```
   quantized  visited  index(s)  index_docs/s  merge(s)  force_merge(s)  
index_size(MB)         filterStrategy  recall  latency(ms)  netCPU  avgCpuCount
          no    12956     19.80       5051.53     18.92           20.13         
 403.38  query-time-pre-filter   0.495        4.481   4.480        1.000
          no     6192     24.71       4047.11     25.32           30.99         
 409.01      index-time-filter   0.995        2.062   2.062        1.000
      8 bits    12965     19.87       5031.95     22.82           24.53         
 502.57  query-time-pre-filter   0.495        5.129   5.128        1.000
      8 bits     6206     25.26       3958.51     30.33           37.65         
 508.19      index-time-filter   0.985        2.372   2.371        0.999
      4 bits    13167     20.06       4985.04     11.31           16.64         
 453.79  query-time-pre-filter   0.495        2.911   2.910        1.000
      4 bits     6279     25.18       3971.56     19.82           24.26         
 459.44      index-time-filter   0.922        1.288   1.286        0.999
      2 bits    13765     20.51       4875.91     11.21           17.33         
 429.54  query-time-pre-filter   0.481        2.325   2.323        1.000
      2 bits     6688     25.47       3926.50     18.92           26.52         
 435.27      index-time-filter   0.809        1.038   1.037        0.999
      1 bits    15405     19.88       5029.68     10.41           15.19         
 418.55  query-time-pre-filter   0.434        2.139   2.138        1.000
      1 bits     7590     24.74       4041.87     16.51           24.12         
 424.78      index-time-filter   0.687        0.952   0.951        0.999
   ```
   
   Some observations:
   - `recall` is lower with the data-blind quantization, and drop increases 
with higher levels of quantization as expected (drop is <4% for this 
combination).
   - `latency` is higher with the de-duplication, and the increase as a 
percentage is higher with higher levels of quantization as expected (increase 
is <10% for this combination).
   - `index_size(MB)` drops with the de-duplicating vector format, and the 
index size is approximately the same b/w `query-time-pre-filter` and 
`index-time-filter` (differing in HNSW graph size).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to