Closed Greedygre closed 2 months ago
Benchmarking using 3000 randomly vectors. 100 10-neariest neighbor queries will be performed on each case. ┏━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━┳━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┓ ┃ product ┃ distance ┃ vector ┃ ef ┃ ┃ ef ┃ insert_time ┃ search_time ┃ recall ┃ ┃ name ┃ type ┃ dimension ┃ construction ┃ M ┃ search ┃ per vector ┃ per query ┃ rate ┃ ┡━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━╇━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━┩ │ vectorLite │ l2 │ 128 │ 100 │ 30 │ 10 │ 73.58 us │ 15.00 us │ 59.20% │ │ vectorLite │ l2 │ 128 │ 100 │ 30 │ 50 │ 73.58 us │ 46.32 us │ 94.10% │ │ vectorLite │ l2 │ 128 │ 100 │ 30 │ 100 │ 73.58 us │ 73.04 us │ 99.00% │ │ vectorLite │ l2 │ 512 │ 100 │ 30 │ 10 │ 225.71 us │ 70.54 us │ 45.30% │ │ vectorLite │ l2 │ 512 │ 100 │ 30 │ 50 │ 225.71 us │ 188.79 us │ 84.70% │ │ vectorLite │ l2 │ 512 │ 100 │ 30 │ 100 │ 225.71 us │ 273.21 us │ 95.80% │ │ vectorLite │ l2 │ 1536 │ 100 │ 30 │ 10 │ 728.35 us │ 219.49 us │ 37.90% │ │ vectorLite │ l2 │ 1536 │ 100 │ 30 │ 50 │ 728.35 us │ 721.59 us │ 80.20% │ │ vectorLite │ l2 │ 1536 │ 100 │ 30 │ 100 │ 728.35 us │ 1108.48 us │ 93.20% │ │ vectorLite │ l2 │ 3000 │ 100 │ 30 │ 10 │ 1934.85 us │ 1490.12 us │ 36.60% │ │ vectorLite │ l2 │ 3000 │ 100 │ 30 │ 50 │ 1934.85 us │ 2697.82 us │ 80.10% │ │ vectorLite │ l2 │ 3000 │ 100 │ 30 │ 100 │ 1934.85 us │ 2592.77 us │ 94.10% │ │ vectorLite │ cosine │ 128 │ 100 │ 30 │ 10 │ 121.62 us │ 30.70 us │ 58.90% │ │ vectorLite │ cosine │ 128 │ 100 │ 30 │ 50 │ 121.62 us │ 74.25 us │ 93.00% │ │ vectorLite │ cosine │ 128 │ 100 │ 30 │ 100 │ 121.62 us │ 213.78 us │ 98.80% │ │ vectorLite │ cosine │ 512 │ 100 │ 30 │ 10 │ 285.96 us │ 51.90 us │ 48.90% │ │ vectorLite │ cosine │ 512 │ 100 │ 30 │ 50 │ 285.96 us │ 203.59 us │ 86.60% │ │ vectorLite │ cosine │ 512 │ 100 │ 30 │ 100 │ 285.96 us │ 248.33 us │ 96.90% │ │ vectorLite │ cosine │ 1536 │ 100 │ 30 │ 10 │ 793.06 us │ 231.40 us │ 45.70% │ │ vectorLite │ cosine │ 1536 │ 100 │ 30 │ 50 │ 793.06 us │ 756.16 us │ 83.70% │ │ vectorLite │ cosine │ 1536 │ 100 │ 30 │ 100 │ 793.06 us │ 1287.76 us │ 94.80% │ │ vectorLite │ cosine │ 3000 │ 100 │ 30 │ 10 │ 1528.95 us │ 499.85 us │ 41.70% │ │ vectorLite │ cosine │ 3000 │ 100 │ 30 │ 50 │ 1528.95 us │ 1253.44 us │ 82.20% │ │ vectorLite │ cosine │ 3000 │ 100 │ 30 │ 100 │ 1528.95 us │ 2025.99 us │ 94.70% │ └────────────┴──────────┴───────────┴──────────────┴────┴────────┴─────────────┴─────────────┴────────┘ Bencharmk hnswlib as comparison. ┏━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━┳━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┓ ┃ product ┃ distance ┃ vector ┃ ef ┃ ┃ ef ┃ insert_time ┃ search_time ┃ recall ┃ ┃ name ┃ type ┃ dimension ┃ construction ┃ M ┃ search ┃ per vector ┃ per query ┃ rate ┃ ┡━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━╇━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━┩ │ hnswlib │ l2 │ 128 │ 100 │ 30 │ 10 │ 33.03 us │ 24.43 us │ 58.30% │ │ hnswlib │ l2 │ 128 │ 100 │ 30 │ 50 │ 33.03 us │ 79.29 us │ 94.20% │ │ hnswlib │ l2 │ 128 │ 100 │ 30 │ 100 │ 33.03 us │ 129.53 us │ 99.10% │ │ hnswlib │ l2 │ 512 │ 100 │ 30 │ 10 │ 87.13 us │ 89.03 us │ 45.30% │ │ hnswlib │ l2 │ 512 │ 100 │ 30 │ 50 │ 87.13 us │ 253.88 us │ 84.10% │ │ hnswlib │ l2 │ 512 │ 100 │ 30 │ 100 │ 87.13 us │ 469.24 us │ 95.80% │ │ hnswlib │ l2 │ 1536 │ 100 │ 30 │ 10 │ 451.30 us │ 423.50 us │ 37.90% │ │ hnswlib │ l2 │ 1536 │ 100 │ 30 │ 50 │ 451.30 us │ 1018.48 us │ 79.80% │ │ hnswlib │ l2 │ 1536 │ 100 │ 30 │ 100 │ 451.30 us │ 1796.62 us │ 93.30% │ │ hnswlib │ l2 │ 3000 │ 100 │ 30 │ 10 │ 1306.09 us │ 1320.64 us │ 36.80% │ │ hnswlib │ l2 │ 3000 │ 100 │ 30 │ 50 │ 1306.09 us │ 2893.98 us │ 79.90% │ │ hnswlib │ l2 │ 3000 │ 100 │ 30 │ 100 │ 1306.09 us │ 3660.10 us │ 94.20% │ │ hnswlib │ cosine │ 128 │ 100 │ 30 │ 10 │ 27.54 us │ 21.83 us │ 58.50% │ │ hnswlib │ cosine │ 128 │ 100 │ 30 │ 50 │ 27.54 us │ 81.06 us │ 93.00% │ │ hnswlib │ cosine │ 128 │ 100 │ 30 │ 100 │ 27.54 us │ 132.62 us │ 98.80% │ │ hnswlib │ cosine │ 512 │ 100 │ 30 │ 10 │ 87.91 us │ 93.10 us │ 48.40% │ │ hnswlib │ cosine │ 512 │ 100 │ 30 │ 50 │ 87.91 us │ 243.28 us │ 87.00% │ │ hnswlib │ cosine │ 512 │ 100 │ 30 │ 100 │ 87.91 us │ 364.17 us │ 97.00% │ │ hnswlib │ cosine │ 1536 │ 100 │ 30 │ 10 │ 375.64 us │ 395.59 us │ 45.20% │ │ hnswlib │ cosine │ 1536 │ 100 │ 30 │ 50 │ 375.64 us │ 1180.84 us │ 83.30% │ │ hnswlib │ cosine │ 1536 │ 100 │ 30 │ 100 │ 375.64 us │ 1752.67 us │ 94.80% │ │ hnswlib │ cosine │ 3000 │ 100 │ 30 │ 10 │ 914.96 us │ 1009.29 us │ 42.30% │ │ hnswlib │ cosine │ 3000 │ 100 │ 30 │ 50 │ 914.96 us │ 2154.70 us │ 82.30% │ │ hnswlib │ cosine │ 3000 │ 100 │ 30 │ 100 │ 914.96 us │ 2520.03 us │ 94.40% │ └─────────┴──────────┴───────────┴──────────────┴────┴────────┴─────────────┴─────────────┴────────┘ Bencharmk vectorlite brute force(select rowid from my_table order by vector_distance(query_vector, embedding, 'l2')) as comparison. ┏━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ product ┃ distance ┃ vector ┃ insert_time ┃ search_time ┃ recall ┃ ┃ name ┃ type ┃ dimension ┃ per vector ┃ per query ┃ rate ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━┩ │ vectorLite_brute_force │ l2 │ 128 │ 1.49 us │ 426.82 us │ 100.00% │ │ vectorLite_brute_force │ l2 │ 512 │ 2.71 us │ 940.02 us │ 100.00% │ │ vectorLite_brute_force │ l2 │ 1536 │ 3.79 us │ 3628.19 us │ 100.00% │ │ vectorLite_brute_force │ l2 │ 3000 │ 5.95 us │ 6130.14 us │ 100.00% │ └────────────────────────┴──────────┴───────────┴─────────────┴─────────────┴─────────┘ Bencharmk milvuslite. ┏━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━┓ ┃ product ┃ distance ┃ vector ┃ insert_time ┃ search_time ┃ recall ┃ ┃ name ┃ type ┃ dimension ┃ per vector ┃ per query ┃ rate ┃ ┡━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━┩ │ milvusLite │ l2 │ 128 │ 116.61 us │ 1690.98 us │ 100.00% │ │ milvusLite │ l2 │ 512 │ 374.70 us │ 971.58 us │ 100.00% │ │ milvusLite │ l2 │ 1536 │ 3651.94 us │ 1965.66 us │ 100.00% │ │ milvusLite │ l2 │ 3000 │ 6911.08 us │ 3045.92 us │ 100.00% │ │ milvusLite │ cosine │ 128 │ 133.97 us │ 1566.03 us │ 100.00% │ │ milvusLite │ cosine │ 512 │ 590.21 us │ 1926.55 us │ 100.00% │ │ milvusLite │ cosine │ 1536 │ 3389.90 us │ 3407.55 us │ 100.00% │ │ milvusLite │ cosine │ 3000 │ 7883.70 us │ 5878.36 us │ 100.00% │ └────────────┴──────────┴───────────┴─────────────┴─────────────┴─────────┘