Skip to content

Unexpected benchmark result #382

@zthhhhh

Description

@zthhhhh

Hi vectorchord team,

I recently used the ann-benchmarks tool to conduct a preliminary evaluation of pgvector and VectorChord. The build time of the ivf-rabitq index is significantly faster than that of the hnsw index, even though I set sufficiently large shared_buffers and maintenance_work_mem to eliminate the potential impact of disk I/O.

However, the qps isn't meet expectations. Below are the test results:

Image

I use docker image tensorchord/vchord-postgres:pg18-v1.0 to build postgres, and ll tests were run on the dbpedia-openai-1000k-angular dataset and same hardware. Here are the parameter settings:

  1. pgvector-hnsw

name: pgvector_hnsw
run_groups:
test1:
arg_groups: [{M: [16], efConstruction: 64}]
args: {}
query_args: [[10, 20, 30, 40, 60, 80, 120, 160, 200,250, 300,350, 400, 500, 600, 700, 800]]

  1. pgvector_ivfflat

name: pgvector_ivfflat
run_groups:
test2:
arg_groups: [{lists: [2000]}]
args: {}
query_args: [[1, 10, 20, 50 ,100, 200, 300, 400, 600, 800]]

  1. vchord

name: vchordrq
run_groups:
test3:
arg_groups: [{lists: [2000]}]
args: {}
query_args: [[1, 10, 20, 50 ,100, 200, 300, 400, 600, 800]]

I’d like to understand what might be causing the performance to fall short of pgvector’s, and I sincerely apologize If I missed relevant details while reading the VectorChord documentation.

Thank you for your attention.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions