diff --git a/README.md b/README.md index cbf1930..9a15a04 100644 --- a/README.md +++ b/README.md @@ -93,40 +93,38 @@ each of the 30 queries run in the benchmark. ## High-level results -| Query | neo4j-2025.12.1 (ms) | kuzu-0.11.3 (ms) | ladybug-0.14.1 (ms) | lance-graph-0.5.1 (ms) | +| Query | neo4j-2025.12.1 (ms) | kuzu-0.11.3 (ms) | ladybug-0.14.1 (ms) | lance-graph-0.5.2 (ms) | | --- | --- | --- | --- | --- | -| q1 | 5.7ms | 2.4ms (2.4x) | 2.1ms (2.7x) | 1.5ms (3.9x) | -| q2 | 6.4ms | 1.5ms (4.4x) | 1.5ms (4.2x) | 2.3ms (2.8x) | -| q3 | 2.8ms | 1.4ms (2.1x) | 1.2ms (2.2x) | 3.4ms (0.8x) | -| q4 | 4.8ms | 1.1ms (4.6x) | 1.1ms (4.3x) | 3.1ms (1.5x) | -| q5 | 5.1ms | 3.9ms (1.3x) | 3.6ms (1.4x) | 2.1ms (2.4x) | -| q6 | 4.1ms | 0.8ms (5.1x) | 0.9ms (4.6x) | 0.8ms (5.0x) | -| q7 | 2.2ms | 31.0ms (0.1x) | 31.1ms (0.1x) | 13.2ms (0.2x) | -| q8 | 15.6ms | 2.8ms (5.6x) | 2.8ms (5.5x) | 1.3ms (12.4x) | -| q9 | 2.6ms | 2.0ms (1.3x) | 2.2ms (1.2x) | 2.2ms (1.2x) | -| q10 | 4.9ms | 1.8ms (2.7x) | 1.9ms (2.6x) | 25.2ms (0.2x) | -| q11 | 12.9ms | 8.1ms (1.6x) | 8.4ms (1.5x) | 3.2ms (4.0x) | -| q12 | 4.7ms | 18.4ms (0.3x) | 17.9ms (0.3x) | 17.7ms (0.3x) | -| q13 | 8.8ms | 50.2ms (0.2x) | 51.6ms (0.2x) | 8.7ms (1.0x) | -| q14 | 1.6ms | 1.7ms (1.0x) | 1.8ms (0.9x) | 2.8ms (0.6x) | -| q15 | 3.2ms | 2.7ms (1.2x) | 2.7ms (1.2x) | 2.3ms (1.4x) | -| q16 | 2.0ms | 2.0ms (1.0x) | 2.0ms (1.0x) | 4.2ms (0.5x) | -| q17 | 5.3ms | 3.0ms (1.8x) | 2.9ms (1.8x) | 2.6ms (2.0x) | -| q18 | 4.1ms | 1.7ms (2.3x) | 1.8ms (2.3x) | 2.0ms (2.0x) | -| q19 | 6.1ms | 13.3ms (0.5x) | 13.6ms (0.5x) | 18.9ms (0.3x) | -| q20 | 421.8ms | 12.0ms (35.2x) | 11.1ms (38.1x) | 2.4ms (175.8x) | -| q21 | 1.6ms | 0.6ms (2.7x) | 0.6ms (2.7x) | 1.7ms (0.9x) | -| q22 | 3.7ms | 19.8ms (0.2x) | 21.2ms (0.2x) | 12.5ms (0.3x) | -| q23 | 4.0ms | 1.4ms (2.9x) | 1.4ms (2.8x) | 2.7ms (1.5x) | -| q24 | 1.5ms | 1.5ms (1.0x) | 1.6ms (1.0x) | 2.0ms (0.8x) | -| q25 | 3.1ms | 1.6ms (1.9x) | 1.7ms (1.8x) | 1.5ms (2.1x) | -| q26 | 1.8ms | 3.6ms (0.5x) | 3.8ms (0.5x) | 3.1ms (0.6x) | -| q27 | 3.4ms | 13.4ms (0.3x) | 16.0ms (0.2x) | 23.0ms (0.1x) | -| q28 | 4.3ms | 1.6ms (2.6x) | 1.9ms (2.3x) | 2.9ms (1.5x) | -| q29 | 3.1ms | 1.3ms (2.4x) | 1.3ms (2.4x) | 2.7ms (1.2x) | - -> [!NOTE] -> Q30 (self-referencing pattern) is the most expensive query in this benchmark and is currently not supported in lance-graph. The lance-graph query processor is undergoing significant optimization -- follow this repo and check back in soon! +| q1 | 4.9ms | 2.3ms (2.2x) | 2.1ms (2.3x) | 1.6ms (3.1x) | +| q2 | 5.9ms | 1.4ms (4.1x) | 1.5ms (3.9x) | 2.4ms (2.5x) | +| q3 | 2.9ms | 1.2ms (2.4x) | 1.3ms (2.3x) | 3.4ms (0.9x) | +| q4 | 4.1ms | 1.0ms (4.0x) | 1.0ms (4.0x) | 3.1ms (1.3x) | +| q5 | 4.9ms | 3.8ms (1.3x) | 3.7ms (1.3x) | 2.1ms (2.3x) | +| q6 | 3.9ms | 0.8ms (5.0x) | 0.8ms (4.6x) | 0.8ms (4.6x) | +| q7 | 2.2ms | 31.1ms (0.1x) | 31.6ms (0.1x) | 13.3ms (0.2x) | +| q8 | 14.6ms | 2.9ms (5.1x) | 2.9ms (5.1x) | 1.3ms (11.3x) | +| q9 | 2.8ms | 2.1ms (1.4x) | 2.2ms (1.3x) | 2.2ms (1.3x) | +| q10 | 4.9ms | 1.8ms (2.7x) | 1.9ms (2.6x) | 25.3ms (0.2x) | +| q11 | 14.9ms | 8.5ms (1.8x) | 8.1ms (1.8x) | 3.3ms (4.5x) | +| q12 | 8.1ms | 20.7ms (0.4x) | 16.9ms (0.5x) | 18.0ms (0.4x) | +| q13 | 9.9ms | 50.8ms (0.2x) | 51.5ms (0.2x) | 8.9ms (1.1x) | +| q14 | 1.7ms | 1.7ms (1.0x) | 1.8ms (0.9x) | 2.9ms (0.6x) | +| q15 | 3.3ms | 2.7ms (1.2x) | 2.7ms (1.2x) | 2.3ms (1.4x) | +| q16 | 2.4ms | 2.0ms (1.2x) | 2.0ms (1.2x) | 4.4ms (0.5x) | +| q17 | 4.9ms | 3.0ms (1.6x) | 3.0ms (1.7x) | 2.7ms (1.8x) | +| q18 | 3.7ms | 1.8ms (2.0x) | 1.8ms (2.0x) | 2.2ms (1.7x) | +| q19 | 7.8ms | 12.4ms (0.6x) | 14.1ms (0.6x) | 19.3ms (0.4x) | +| q20 | 475.7ms | 11.9ms (39.9x) | 10.9ms (43.6x) | 2.6ms (183.6x) | +| q21 | 1.8ms | 0.6ms (3.2x) | 0.6ms (3.1x) | 1.7ms (1.0x) | +| q22 | 3.6ms | 24.2ms (0.2x) | 22.3ms (0.2x) | 13.7ms (0.3x) | +| q23 | 3.9ms | 1.4ms (2.8x) | 1.6ms (2.5x) | 2.7ms (1.4x) | +| q24 | 1.6ms | 1.5ms (1.1x) | 1.5ms (1.1x) | 2.0ms (0.8x) | +| q25 | 3.1ms | 1.8ms (1.7x) | 1.7ms (1.8x) | 1.5ms (2.1x) | +| q26 | 1.8ms | 3.7ms (0.5x) | 3.6ms (0.5x) | 3.1ms (0.6x) | +| q27 | 3.5ms | 15.2ms (0.2x) | 15.4ms (0.2x) | 23.0ms (0.2x) | +| q28 | 3.9ms | 1.7ms (2.3x) | 1.8ms (2.2x) | 2.8ms (1.4x) | +| q29 | 2.9ms | 1.3ms (2.3x) | 1.2ms (2.4x) | 2.7ms (1.1x) | +| q30 | 1255.2ms | 158.7ms (7.9x) | 154.4ms (8.1x) | 31.3ms (40.1x) | The fastest and slowest systems for each query can be visualized via the following heatmap. diff --git a/kuzu/README.md b/kuzu/README.md index d9b0519..89f0c8c 100644 --- a/kuzu/README.md +++ b/kuzu/README.md @@ -52,54 +52,55 @@ The benchmark can be run using the following command. The results are output to ```bash ❯ uv run pytest benchmark_query.py --benchmark-min-rounds=5 --benchmark-warmup-iterations=5 --benchmark-disable-gc --benchmark-sort=fullname -==================================== test session starts ==================================== +============================================== test session starts =============================================== platform darwin -- Python 3.13.7, pytest-9.0.2, pluggy-1.6.0 benchmark: 5.2.3 (defaults: timer=time.perf_counter disable_gc=True min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=5) rootdir: /Users/prrao/code/graph-benchmark-ldbc-snb configfile: pyproject.toml plugins: anyio-4.12.1, benchmark-5.2.3, asyncio-1.3.0, Faker-40.1.2 asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function -collected 29 items - -benchmark_query.py ............................. [100%] - - ------------------------------------------------------------------------------------- benchmark: 29 tests ------------------------------------------------------------------------------------ -Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -test_benchmark_query1 2.2577 (4.66) 2.6252 (3.30) 2.3674 (4.00) 0.1256 (2.17) 2.3013 (3.96) 0.1035 (1.40) 1;1 422.4013 (0.25) 7 1 -test_benchmark_query10 1.5427 (3.19) 2.1656 (2.73) 1.7854 (3.02) 0.1151 (1.99) 1.7797 (3.07) 0.1413 (1.91) 68;2 560.0853 (0.33) 219 1 -test_benchmark_query11 7.6476 (15.80) 8.9412 (11.25) 8.0510 (13.61) 0.2907 (5.01) 8.0069 (13.79) 0.3396 (4.59) 20;5 124.2076 (0.07) 76 1 -test_benchmark_query12 14.4927 (29.94) 27.4369 (34.53) 18.3637 (31.05) 3.8226 (65.95) 16.2928 (28.07) 5.7663 (78.01) 4;0 54.4552 (0.03) 15 1 -test_benchmark_query13 48.4199 (100.02) 51.4664 (64.77) 50.2393 (84.96) 0.8729 (15.06) 50.3359 (86.72) 1.4880 (20.13) 7;0 19.9047 (0.01) 18 1 -test_benchmark_query14 1.4160 (2.92) 1.9150 (2.41) 1.6599 (2.81) 0.1091 (1.88) 1.6518 (2.85) 0.1297 (1.75) 51;1 602.4426 (0.36) 155 1 -test_benchmark_query15 2.4607 (5.08) 3.2792 (4.13) 2.6984 (4.56) 0.1264 (2.18) 2.6811 (4.62) 0.1637 (2.21) 86;5 370.5902 (0.22) 278 1 -test_benchmark_query16 1.7999 (3.72) 2.1456 (2.70) 1.9558 (3.31) 0.0769 (1.33) 1.9431 (3.35) 0.1080 (1.46) 36;0 511.3071 (0.30) 102 1 -test_benchmark_query17 2.7153 (5.61) 3.4063 (4.29) 2.9574 (5.00) 0.1463 (2.52) 2.9277 (5.04) 0.1782 (2.41) 46;9 338.1399 (0.20) 184 1 -test_benchmark_query18 1.4720 (3.04) 7.3080 (9.20) 1.7397 (2.94) 0.3661 (6.32) 1.6984 (2.93) 0.1279 (1.73) 5;10 574.8125 (0.34) 383 1 -test_benchmark_query19 8.9191 (18.42) 23.9760 (30.18) 13.2692 (22.44) 3.6640 (63.22) 12.7555 (21.98) 4.3972 (59.49) 14;2 75.3626 (0.04) 50 1 -test_benchmark_query2 1.3465 (2.78) 1.9035 (2.40) 1.4589 (2.47) 0.0886 (1.53) 1.4350 (2.47) 0.1081 (1.46) 18;1 685.4362 (0.41) 79 1 -test_benchmark_query20 10.9251 (22.57) 25.8535 (32.54) 11.9840 (20.27) 2.5636 (44.23) 11.2959 (19.46) 0.2591 (3.51) 3;6 83.4447 (0.05) 36 1 -test_benchmark_query21 0.4841 (1.0) 0.7945 (1.0) 0.5913 (1.0) 0.0580 (1.0) 0.5804 (1.0) 0.0739 (1.0) 76;6 1,691.0646 (1.0) 250 1 -test_benchmark_query22 13.8039 (28.51) 30.7185 (38.66) 19.8331 (33.54) 4.4588 (76.93) 19.3723 (33.38) 6.9103 (93.49) 9;0 50.4206 (0.03) 29 1 -test_benchmark_query23 1.1496 (2.37) 4.3593 (5.49) 1.3911 (2.35) 0.2145 (3.70) 1.3585 (2.34) 0.0933 (1.26) 19;32 718.8361 (0.43) 610 1 -test_benchmark_query24 1.2693 (2.62) 2.0424 (2.57) 1.5169 (2.57) 0.1056 (1.82) 1.5078 (2.60) 0.1322 (1.79) 107;2 659.2339 (0.39) 353 1 -test_benchmark_query25 1.4011 (2.89) 1.9984 (2.52) 1.6455 (2.78) 0.1158 (2.00) 1.6369 (2.82) 0.1343 (1.82) 104;10 607.7344 (0.36) 325 1 -test_benchmark_query26 3.2755 (6.77) 10.1319 (12.75) 3.6176 (6.12) 0.5596 (9.65) 3.5371 (6.09) 0.2210 (2.99) 4;6 276.4285 (0.16) 175 1 -test_benchmark_query27 9.4421 (19.50) 24.2963 (30.58) 13.3928 (22.65) 3.3355 (57.55) 14.2491 (24.55) 5.3340 (72.16) 30;1 74.6672 (0.04) 81 1 -test_benchmark_query28 1.3805 (2.85) 1.9694 (2.48) 1.6460 (2.78) 0.0947 (1.63) 1.6314 (2.81) 0.1175 (1.59) 130;11 607.5488 (0.36) 472 1 -test_benchmark_query29 1.0577 (2.18) 3.9660 (4.99) 1.2988 (2.20) 0.2884 (4.98) 1.2493 (2.15) 0.1126 (1.52) 9;15 769.9662 (0.46) 285 1 -test_benchmark_query3 1.1598 (2.40) 4.8344 (6.08) 1.3517 (2.29) 0.4075 (7.03) 1.2684 (2.19) 0.0970 (1.31) 3;11 739.8151 (0.44) 126 1 -test_benchmark_query4 0.9308 (1.92) 1.2335 (1.55) 1.0504 (1.78) 0.0711 (1.23) 1.0377 (1.79) 0.0961 (1.30) 66;0 952.0332 (0.56) 194 1 -test_benchmark_query5 3.5945 (7.42) 4.5954 (5.78) 3.9005 (6.60) 0.1726 (2.98) 3.9024 (6.72) 0.2002 (2.71) 23;2 256.3742 (0.15) 89 1 -test_benchmark_query6 0.6538 (1.35) 3.6604 (4.61) 0.8143 (1.38) 0.1904 (3.28) 0.7678 (1.32) 0.1126 (1.52) 29;29 1,228.0319 (0.73) 336 1 -test_benchmark_query7 29.8127 (61.58) 40.9078 (51.49) 31.0440 (52.50) 2.0570 (35.49) 30.6197 (52.75) 0.8259 (11.17) 1;1 32.2124 (0.02) 27 1 -test_benchmark_query8 2.5916 (5.35) 3.1906 (4.02) 2.7599 (4.67) 0.1295 (2.23) 2.7272 (4.70) 0.1475 (2.00) 35;8 362.3276 (0.21) 138 1 -test_benchmark_query9 1.8081 (3.73) 2.3520 (2.96) 2.0342 (3.44) 0.1250 (2.16) 2.0075 (3.46) 0.1910 (2.58) 65;0 491.6035 (0.29) 203 1 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +collected 30 items + +benchmark_query.py .............................. [100%] + + +-------------------------------------------------------------------------------------- benchmark: 30 tests --------------------------------------------------------------------------------------- +Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +test_benchmark_query1 2.1209 (4.50) 2.6556 (3.34) 2.2756 (3.96) 0.1363 (2.94) 2.2485 (3.97) 0.1500 (2.90) 3;1 439.4414 (0.25) 14 1 +test_benchmark_query10 1.6590 (3.52) 4.6478 (5.84) 1.8253 (3.18) 0.1547 (3.34) 1.8034 (3.19) 0.0939 (1.81) 24;21 547.8598 (0.31) 487 1 +test_benchmark_query11 7.9723 (16.91) 9.1218 (11.46) 8.5255 (14.84) 0.2622 (5.66) 8.4948 (15.00) 0.4197 (8.11) 29;0 117.2955 (0.07) 80 1 +test_benchmark_query12 16.2808 (34.54) 34.7569 (43.65) 20.7133 (36.05) 3.3054 (71.33) 20.3600 (35.96) 2.2653 (43.77) 7;4 48.2782 (0.03) 35 1 +test_benchmark_query13 49.2052 (104.40) 59.5040 (74.73) 50.7832 (88.40) 2.2413 (48.36) 50.2405 (88.74) 0.7761 (15.00) 1;2 19.6916 (0.01) 19 1 +test_benchmark_query14 1.4937 (3.17) 1.9786 (2.48) 1.6776 (2.92) 0.0824 (1.78) 1.6659 (2.94) 0.1000 (1.93) 111;9 596.0949 (0.34) 379 1 +test_benchmark_query15 2.5168 (5.34) 3.1308 (3.93) 2.7355 (4.76) 0.0941 (2.03) 2.7249 (4.81) 0.1155 (2.23) 87;9 365.5617 (0.21) 348 1 +test_benchmark_query16 1.8140 (3.85) 2.2756 (2.86) 1.9688 (3.43) 0.0689 (1.49) 1.9644 (3.47) 0.0859 (1.66) 102;6 507.9228 (0.29) 334 1 +test_benchmark_query17 2.7828 (5.90) 8.5874 (10.78) 3.0171 (5.25) 0.4188 (9.04) 2.9600 (5.23) 0.1179 (2.28) 6;17 331.4425 (0.19) 281 1 +test_benchmark_query18 1.6130 (3.42) 2.3325 (2.93) 1.8234 (3.17) 0.0949 (2.05) 1.8152 (3.21) 0.1185 (2.29) 121;13 548.4163 (0.32) 459 1 +test_benchmark_query19 8.5983 (18.24) 23.7949 (29.88) 12.4075 (21.60) 2.7082 (58.44) 12.0801 (21.34) 3.5131 (67.88) 17;2 80.5965 (0.05) 71 1 +test_benchmark_query2 1.2590 (2.67) 2.0387 (2.56) 1.4312 (2.49) 0.0977 (2.11) 1.4153 (2.50) 0.1035 (2.00) 61;13 698.6901 (0.40) 279 1 +test_benchmark_query20 11.1750 (23.71) 21.4228 (26.90) 11.9200 (20.75) 1.4845 (32.03) 11.4913 (20.30) 0.4432 (8.56) 5;10 83.8925 (0.05) 70 1 +test_benchmark_query21 0.4713 (1.0) 0.7962 (1.0) 0.5745 (1.0) 0.0527 (1.14) 0.5661 (1.0) 0.0655 (1.27) 197;20 1,740.6530 (1.0) 724 1 +test_benchmark_query22 14.6594 (31.10) 37.5509 (47.16) 24.2478 (42.21) 4.5574 (98.34) 23.0444 (40.70) 5.4208 (104.75) 10;2 41.2409 (0.02) 43 1 +test_benchmark_query23 1.2525 (2.66) 4.4241 (5.56) 1.3910 (2.42) 0.1410 (3.04) 1.3794 (2.44) 0.0798 (1.54) 16;15 718.8820 (0.41) 587 1 +test_benchmark_query24 1.3565 (2.88) 4.7922 (6.02) 1.5415 (2.68) 0.2381 (5.14) 1.5109 (2.67) 0.0840 (1.62) 21;27 648.7317 (0.37) 642 1 +test_benchmark_query25 1.4541 (3.09) 5.7062 (7.17) 1.7919 (3.12) 0.2492 (5.38) 1.7626 (3.11) 0.1363 (2.63) 14;15 558.0717 (0.32) 552 1 +test_benchmark_query26 3.4484 (7.32) 4.1133 (5.17) 3.6787 (6.40) 0.1269 (2.74) 3.6656 (6.47) 0.1743 (3.37) 87;1 271.8387 (0.16) 250 1 +test_benchmark_query27 10.2395 (21.72) 32.9692 (41.41) 15.2078 (26.47) 4.0537 (87.48) 14.4512 (25.53) 3.5987 (69.54) 14;5 65.7559 (0.04) 73 1 +test_benchmark_query28 1.5180 (3.22) 3.8031 (4.78) 1.6778 (2.92) 0.1362 (2.94) 1.6551 (2.92) 0.1071 (2.07) 51;22 596.0221 (0.34) 486 1 +test_benchmark_query29 1.0736 (2.28) 3.6777 (4.62) 1.2813 (2.23) 0.1644 (3.55) 1.2672 (2.24) 0.0824 (1.59) 16;21 780.4858 (0.45) 724 1 +test_benchmark_query3 1.0963 (2.33) 1.8806 (2.36) 1.2479 (2.17) 0.1060 (2.29) 1.2198 (2.15) 0.1051 (2.03) 65;22 801.3508 (0.46) 408 1 +test_benchmark_query30 148.6766 (315.44) 171.5846 (215.49) 158.6827 (276.21) 8.2511 (178.05) 157.0752 (277.45) 12.4123 (239.85) 2;0 6.3019 (0.00) 7 1 +test_benchmark_query4 0.8992 (1.91) 1.2998 (1.63) 1.0380 (1.81) 0.0605 (1.30) 1.0327 (1.82) 0.0733 (1.42) 142;13 963.3932 (0.55) 517 1 +test_benchmark_query5 3.5444 (7.52) 4.1010 (5.15) 3.7562 (6.54) 0.0961 (2.07) 3.7504 (6.62) 0.1137 (2.20) 53;3 266.2274 (0.15) 181 1 +test_benchmark_query6 0.6662 (1.41) 1.0573 (1.33) 0.7689 (1.34) 0.0463 (1.0) 0.7576 (1.34) 0.0518 (1.0) 234;33 1,300.5784 (0.75) 924 1 +test_benchmark_query7 29.4940 (62.58) 42.5176 (53.40) 31.1065 (54.15) 2.2509 (48.57) 30.7164 (54.26) 0.8056 (15.57) 2;2 32.1476 (0.02) 31 1 +test_benchmark_query8 2.6213 (5.56) 3.2949 (4.14) 2.8580 (4.97) 0.1185 (2.56) 2.8365 (5.01) 0.1521 (2.94) 58;6 349.8981 (0.20) 220 1 +test_benchmark_query9 1.8395 (3.90) 5.8372 (7.33) 2.0653 (3.59) 0.2929 (6.32) 2.0221 (3.57) 0.1272 (2.46) 7;15 484.1951 (0.28) 432 1 +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Legend: Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile. OPS: Operations Per Second, computed as 1 / Mean -==================================== 29 passed in 15.92s ==================================== +============================================== 30 passed in 25.36s =============================================== ``` \ No newline at end of file diff --git a/kuzu/benchmark_query.py b/kuzu/benchmark_query.py index 7269df5..588ae08 100644 --- a/kuzu/benchmark_query.py +++ b/kuzu/benchmark_query.py @@ -236,6 +236,6 @@ def test_benchmark_query29(benchmark, connection): _assert_single_value(result, "has_written_post_with_safari", False) -# def test_benchmark_query30(benchmark, connection): -# result = benchmark(query.run_query30, connection) -# _assert_single_value(result, "has_self_reply", True) +def test_benchmark_query30(benchmark, connection): + result = benchmark(query.run_query30, connection) + _assert_single_value(result, "has_self_reply", True) diff --git a/kuzu/query.py b/kuzu/query.py index 5e5a005..36b5550 100644 --- a/kuzu/query.py +++ b/kuzu/query.py @@ -334,8 +334,8 @@ def run_query29(conn: Connection): def run_query30(conn: Connection): "Are there comments replying to posts created by the same person?" query = """ - MATCH (c:Comment)-[:commentHasCreator]->(p:Person) - <-[:postHasCreator]-(post:Post)<-[:replyOfPost]-(c) + MATCH (c:Comment)-[:commentHasCreator]->(creator:Person), + (c)-[:replyOfPost]->(post:Post)-[:postHasCreator]->(creator) RETURN COUNT(DISTINCT c.ID) > 0 AS has_self_reply; """ return _execute(conn, 30, query) @@ -371,7 +371,7 @@ def run_query30(conn: Connection): 27: run_query27, 28: run_query28, 29: run_query29, - # 30: run_query30, # Disabled: self-reply query + 30: run_query30, } diff --git a/ladybug/README.md b/ladybug/README.md index 05583e1..a0dc19c 100644 --- a/ladybug/README.md +++ b/ladybug/README.md @@ -49,54 +49,55 @@ The benchmark can be run using the following command. The results are output to ```bash ❯ uv run pytest benchmark_query.py --benchmark-min-rounds=5 --benchmark-warmup-iterations=5 --benchmark-disable-gc --benchmark-sort=fullname -==================================== test session starts ==================================== +============================================== test session starts =============================================== platform darwin -- Python 3.13.7, pytest-9.0.2, pluggy-1.6.0 benchmark: 5.2.3 (defaults: timer=time.perf_counter disable_gc=True min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=5) rootdir: /Users/prrao/code/graph-benchmark-ldbc-snb configfile: pyproject.toml plugins: anyio-4.12.1, benchmark-5.2.3, asyncio-1.3.0, Faker-40.1.2 asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function -collected 29 items - -benchmark_query.py ............................. [100%] - - ------------------------------------------------------------------------------------- benchmark: 29 tests ------------------------------------------------------------------------------------ -Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -test_benchmark_query1 1.8044 (3.95) 2.5032 (3.28) 2.1343 (3.64) 0.2030 (3.91) 2.1173 (3.66) 0.2622 (3.94) 2;0 468.5304 (0.28) 9 1 -test_benchmark_query10 1.6774 (3.67) 2.4054 (3.15) 1.8847 (3.21) 0.1097 (2.12) 1.8566 (3.21) 0.0887 (1.33) 43;26 530.5890 (0.31) 222 1 -test_benchmark_query11 7.7475 (16.95) 9.7963 (12.84) 8.4255 (14.35) 0.4203 (8.10) 8.3458 (14.44) 0.6017 (9.04) 19;1 118.6875 (0.07) 70 1 -test_benchmark_query12 13.8958 (30.40) 25.3557 (33.23) 17.9320 (30.55) 3.3673 (64.90) 17.3610 (30.04) 4.9085 (73.77) 5;0 55.7661 (0.03) 15 1 -test_benchmark_query13 49.7707 (108.89) 53.6029 (70.25) 51.6189 (87.93) 1.1069 (21.34) 51.5523 (89.19) 1.7811 (26.77) 6;0 19.3727 (0.01) 18 1 -test_benchmark_query14 1.5683 (3.43) 2.0795 (2.73) 1.7862 (3.04) 0.1014 (1.95) 1.7830 (3.08) 0.1086 (1.63) 47;8 559.8506 (0.33) 166 1 -test_benchmark_query15 2.5371 (5.55) 3.0657 (4.02) 2.7445 (4.68) 0.1067 (2.06) 2.7192 (4.70) 0.1441 (2.17) 94;2 364.3696 (0.21) 287 1 -test_benchmark_query16 1.7841 (3.90) 2.2375 (2.93) 1.9878 (3.39) 0.0885 (1.71) 1.9645 (3.40) 0.1083 (1.63) 31;2 503.0593 (0.30) 111 1 -test_benchmark_query17 2.7363 (5.99) 3.3285 (4.36) 2.9439 (5.01) 0.1049 (2.02) 2.9275 (5.06) 0.1302 (1.96) 53;7 339.6853 (0.20) 195 1 -test_benchmark_query18 1.5109 (3.31) 2.0728 (2.72) 1.7591 (3.00) 0.1114 (2.15) 1.7465 (3.02) 0.1302 (1.96) 108;10 568.4831 (0.33) 364 1 -test_benchmark_query19 8.9326 (19.54) 25.3142 (33.18) 13.5881 (23.15) 3.9636 (76.40) 13.4727 (23.31) 5.1604 (77.55) 16;2 73.5940 (0.04) 51 1 -test_benchmark_query2 1.4232 (3.11) 1.7122 (2.24) 1.5402 (2.62) 0.0733 (1.41) 1.5451 (2.67) 0.1123 (1.69) 31;0 649.2788 (0.38) 80 1 -test_benchmark_query20 10.6083 (23.21) 11.8530 (15.53) 11.0800 (18.87) 0.2913 (5.62) 10.9818 (19.00) 0.3855 (5.79) 11;1 90.2523 (0.05) 35 1 -test_benchmark_query21 0.4571 (1.0) 0.7630 (1.0) 0.5870 (1.0) 0.0519 (1.0) 0.5780 (1.0) 0.0665 (1.0) 64;5 1,703.4466 (1.0) 230 1 -test_benchmark_query22 13.4663 (29.46) 34.2355 (44.87) 21.2265 (36.16) 5.2868 (101.90) 21.0171 (36.36) 7.4120 (111.39) 9;0 47.1110 (0.03) 35 1 -test_benchmark_query23 1.1985 (2.62) 1.7997 (2.36) 1.4394 (2.45) 0.0915 (1.76) 1.4320 (2.48) 0.1065 (1.60) 138;16 694.7496 (0.41) 533 1 -test_benchmark_query24 1.3111 (2.87) 1.9181 (2.51) 1.5519 (2.64) 0.0983 (1.89) 1.5502 (2.68) 0.1048 (1.57) 115;23 644.3509 (0.38) 427 1 -test_benchmark_query25 1.4066 (3.08) 2.0245 (2.65) 1.6663 (2.84) 0.1209 (2.33) 1.6566 (2.87) 0.1580 (2.37) 102;3 600.1376 (0.35) 313 1 -test_benchmark_query26 3.4069 (7.45) 4.3051 (5.64) 3.7920 (6.46) 0.1652 (3.18) 3.7772 (6.53) 0.2001 (3.01) 51;5 263.7113 (0.15) 173 1 -test_benchmark_query27 10.5538 (23.09) 29.3026 (38.40) 15.9964 (27.25) 3.2494 (62.63) 15.6882 (27.14) 2.0257 (30.44) 21;13 62.5142 (0.04) 80 1 -test_benchmark_query28 1.6201 (3.54) 4.9347 (6.47) 1.8973 (3.23) 0.1950 (3.76) 1.8752 (3.24) 0.1230 (1.85) 21;11 527.0702 (0.31) 328 1 -test_benchmark_query29 1.0778 (2.36) 1.6410 (2.15) 1.2739 (2.17) 0.1077 (2.08) 1.2562 (2.17) 0.1312 (1.97) 110;9 784.9653 (0.46) 347 1 -test_benchmark_query3 1.0852 (2.37) 1.6595 (2.17) 1.2498 (2.13) 0.1120 (2.16) 1.2205 (2.11) 0.1359 (2.04) 60;6 800.1028 (0.47) 188 1 -test_benchmark_query4 0.8708 (1.91) 3.2989 (4.32) 1.1177 (1.90) 0.3012 (5.81) 1.0608 (1.84) 0.1154 (1.73) 11;13 894.7101 (0.53) 309 1 -test_benchmark_query5 3.3633 (7.36) 4.0929 (5.36) 3.6133 (6.16) 0.1499 (2.89) 3.5938 (6.22) 0.1860 (2.80) 26;3 276.7576 (0.16) 88 1 -test_benchmark_query6 0.6934 (1.52) 3.2474 (4.26) 0.9060 (1.54) 0.2521 (4.86) 0.8504 (1.47) 0.1249 (1.88) 15;25 1,103.7735 (0.65) 433 1 -test_benchmark_query7 30.0759 (65.80) 32.6885 (42.84) 31.0633 (52.91) 0.5796 (11.17) 31.0890 (53.79) 0.7172 (10.78) 7;1 32.1923 (0.02) 27 1 -test_benchmark_query8 2.6225 (5.74) 3.1663 (4.15) 2.8395 (4.84) 0.1051 (2.03) 2.8276 (4.89) 0.1405 (2.11) 51;1 352.1775 (0.21) 160 1 -test_benchmark_query9 1.8821 (4.12) 5.0720 (6.65) 2.1572 (3.67) 0.2426 (4.68) 2.1129 (3.66) 0.1525 (2.29) 13;9 463.5698 (0.27) 208 1 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +collected 30 items + +benchmark_query.py .............................. [100%] + + +-------------------------------------------------------------------------------------- benchmark: 30 tests --------------------------------------------------------------------------------------- +Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +test_benchmark_query1 1.9117 (3.97) 2.6705 (2.92) 2.1081 (3.60) 0.1874 (3.60) 2.0716 (3.62) 0.1117 (1.77) 2;1 474.3652 (0.28) 13 1 +test_benchmark_query10 1.7532 (3.64) 2.3283 (2.54) 1.9033 (3.25) 0.0817 (1.57) 1.8865 (3.30) 0.0914 (1.45) 49;6 525.4153 (0.31) 209 1 +test_benchmark_query11 7.7270 (16.05) 9.0004 (9.82) 8.1187 (13.86) 0.2107 (4.05) 8.1073 (14.18) 0.2738 (4.35) 19;2 123.1724 (0.07) 75 1 +test_benchmark_query12 14.1464 (29.38) 21.6140 (23.59) 16.9058 (28.86) 2.2256 (42.73) 16.5018 (28.87) 2.8348 (45.03) 4;0 59.1512 (0.03) 16 1 +test_benchmark_query13 49.6842 (103.20) 53.5551 (58.46) 51.5110 (87.92) 0.9531 (18.30) 51.4873 (90.07) 1.1535 (18.32) 5;0 19.4133 (0.01) 18 1 +test_benchmark_query14 1.6579 (3.44) 2.1268 (2.32) 1.8347 (3.13) 0.1053 (2.02) 1.8167 (3.18) 0.1391 (2.21) 41;4 545.0562 (0.32) 144 1 +test_benchmark_query15 2.5260 (5.25) 3.4298 (3.74) 2.7253 (4.65) 0.1335 (2.56) 2.6937 (4.71) 0.1512 (2.40) 55;11 366.9327 (0.21) 269 1 +test_benchmark_query16 1.8451 (3.83) 2.3163 (2.53) 1.9933 (3.40) 0.0831 (1.60) 1.9953 (3.49) 0.0946 (1.50) 21;2 501.6840 (0.29) 85 1 +test_benchmark_query17 2.7762 (5.77) 3.4865 (3.81) 2.9867 (5.10) 0.1106 (2.12) 2.9715 (5.20) 0.1347 (2.14) 46;4 334.8133 (0.20) 190 1 +test_benchmark_query18 1.6432 (3.41) 2.2382 (2.44) 1.8052 (3.08) 0.1070 (2.06) 1.7788 (3.11) 0.1249 (1.98) 85;17 553.9455 (0.32) 365 1 +test_benchmark_query19 9.4651 (19.66) 22.8702 (24.96) 14.1154 (24.09) 2.8611 (54.93) 13.5340 (23.67) 2.4370 (38.71) 15;4 70.8448 (0.04) 56 1 +test_benchmark_query2 1.2712 (2.64) 1.9603 (2.14) 1.4940 (2.55) 0.1408 (2.70) 1.5063 (2.63) 0.2294 (3.64) 24;1 669.3568 (0.39) 63 1 +test_benchmark_query20 10.7147 (22.26) 11.1838 (12.21) 10.9092 (18.62) 0.1331 (2.56) 10.8868 (19.04) 0.1968 (3.13) 10;0 91.6657 (0.05) 23 1 +test_benchmark_query21 0.4814 (1.0) 0.9161 (1.0) 0.5859 (1.0) 0.0645 (1.24) 0.5717 (1.0) 0.0630 (1.0) 50;13 1,706.8294 (1.0) 238 1 +test_benchmark_query22 14.2664 (29.63) 34.6549 (37.83) 22.2841 (38.04) 4.2106 (80.84) 22.6807 (39.67) 5.8241 (92.51) 14;1 44.8751 (0.03) 45 1 +test_benchmark_query23 1.3136 (2.73) 2.5025 (2.73) 1.5575 (2.66) 0.1299 (2.49) 1.5345 (2.68) 0.1553 (2.47) 134;12 642.0463 (0.38) 543 1 +test_benchmark_query24 1.3690 (2.84) 1.7574 (1.92) 1.5081 (2.57) 0.0657 (1.26) 1.4949 (2.61) 0.0830 (1.32) 141;12 663.1070 (0.39) 492 1 +test_benchmark_query25 1.4820 (3.08) 4.4241 (4.83) 1.7130 (2.92) 0.2880 (5.53) 1.6657 (2.91) 0.1128 (1.79) 11;18 583.7764 (0.34) 367 1 +test_benchmark_query26 3.4514 (7.17) 4.3842 (4.79) 3.5946 (6.14) 0.0929 (1.78) 3.5871 (6.27) 0.0974 (1.55) 48;4 278.1939 (0.16) 205 1 +test_benchmark_query27 10.1100 (21.00) 28.5882 (31.21) 15.4468 (26.36) 4.4585 (85.60) 15.2192 (26.62) 4.1056 (65.21) 13;6 64.7385 (0.04) 56 1 +test_benchmark_query28 1.6654 (3.46) 2.0297 (2.22) 1.8098 (3.09) 0.0583 (1.12) 1.8051 (3.16) 0.0761 (1.21) 168;7 552.5401 (0.32) 510 1 +test_benchmark_query29 1.0920 (2.27) 1.4700 (1.60) 1.2240 (2.09) 0.0611 (1.17) 1.2120 (2.12) 0.0751 (1.19) 96;10 816.9921 (0.48) 348 1 +test_benchmark_query3 1.1448 (2.38) 1.5808 (1.73) 1.2674 (2.16) 0.0824 (1.58) 1.2460 (2.18) 0.1025 (1.63) 52;6 789.0132 (0.46) 190 1 +test_benchmark_query30 144.2956 (299.73) 169.7094 (185.25) 154.3682 (263.48) 8.5969 (165.05) 153.8919 (269.20) 11.1298 (176.78) 2;0 6.4780 (0.00) 7 1 +test_benchmark_query4 0.9089 (1.89) 1.2413 (1.35) 1.0283 (1.76) 0.0521 (1.0) 1.0202 (1.78) 0.0631 (1.00) 88;7 972.4397 (0.57) 312 1 +test_benchmark_query5 3.4085 (7.08) 4.1252 (4.50) 3.6512 (6.23) 0.1165 (2.24) 3.6401 (6.37) 0.1328 (2.11) 21;2 273.8851 (0.16) 82 1 +test_benchmark_query6 0.7381 (1.53) 1.1139 (1.22) 0.8477 (1.45) 0.0634 (1.22) 0.8386 (1.47) 0.0798 (1.27) 106;6 1,179.6415 (0.69) 336 1 +test_benchmark_query7 29.5983 (61.48) 41.4377 (45.23) 31.5597 (53.87) 2.1364 (41.02) 30.9265 (54.10) 1.1964 (19.00) 2;2 31.6860 (0.02) 29 1 +test_benchmark_query8 2.7169 (5.64) 3.2915 (3.59) 2.8623 (4.89) 0.0910 (1.75) 2.8420 (4.97) 0.1151 (1.83) 39;3 349.3652 (0.20) 148 1 +test_benchmark_query9 1.9575 (4.07) 6.0546 (6.61) 2.2280 (3.80) 0.4422 (8.49) 2.1359 (3.74) 0.1619 (2.57) 5;7 448.8280 (0.26) 196 1 +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Legend: Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile. OPS: Operations Per Second, computed as 1 / Mean -==================================== 29 passed in 16.69s ==================================== +============================================== 30 passed in 18.23s =============================================== ``` \ No newline at end of file diff --git a/ladybug/benchmark_query.py b/ladybug/benchmark_query.py index 4697532..89cc7be 100644 --- a/ladybug/benchmark_query.py +++ b/ladybug/benchmark_query.py @@ -236,6 +236,6 @@ def test_benchmark_query29(benchmark, connection): _assert_single_value(result, "has_written_post_with_safari", False) -# def test_benchmark_query30(benchmark, connection): -# result = benchmark(query.run_query30, connection) -# _assert_single_value(result, "has_self_reply", True) +def test_benchmark_query30(benchmark, connection): + result = benchmark(query.run_query30, connection) + _assert_single_value(result, "has_self_reply", True) diff --git a/ladybug/query.py b/ladybug/query.py index d5f8626..81badf0 100644 --- a/ladybug/query.py +++ b/ladybug/query.py @@ -334,8 +334,8 @@ def run_query29(conn: Connection): def run_query30(conn: Connection): "Are there comments replying to posts created by the same person?" query = """ - MATCH (c:Comment)-[:commentHasCreator]->(p:Person) - <-[:postHasCreator]-(post:Post)<-[:replyOfPost]-(c) + MATCH (c:Comment)-[:commentHasCreator]->(creator:Person), + (c)-[:replyOfPost]->(post:Post)-[:postHasCreator]->(creator) RETURN COUNT(DISTINCT c.ID) > 0 AS has_self_reply; """ return _execute(conn, 30, query) @@ -371,7 +371,7 @@ def run_query30(conn: Connection): 27: run_query27, 28: run_query28, 29: run_query29, - # 30: run_query30, # Disabled: self-reply query + 30: run_query30, } diff --git a/lance_graph/README.md b/lance_graph/README.md index 8bd1c5d..f147d28 100644 --- a/lance_graph/README.md +++ b/lance_graph/README.md @@ -41,54 +41,55 @@ uv run query.py "1,2,6" ```bash ❯ uv run pytest benchmark_query.py --benchmark-min-rounds=5 --benchmark-warmup-iterations=5 --benchmark-disable-gc --benchmark-sort=fullname -============================================ test session starts ============================================= +============================================== test session starts =============================================== platform darwin -- Python 3.13.7, pytest-9.0.2, pluggy-1.6.0 benchmark: 5.2.3 (defaults: timer=time.perf_counter disable_gc=True min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=5) rootdir: /Users/prrao/code/graph-benchmark-ldbc-snb configfile: pyproject.toml plugins: anyio-4.12.1, benchmark-5.2.3, asyncio-1.3.0, Faker-40.1.2 asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function -collected 29 items +collected 30 items -benchmark_query.py ............................. [100%] +benchmark_query.py .............................. [100%] ------------------------------------------------------------------------------------- benchmark: 29 tests ------------------------------------------------------------------------------------ +------------------------------------------------------------------------------------ benchmark: 30 tests ------------------------------------------------------------------------------------ Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -test_benchmark_query1 1.3767 (1.95) 1.7772 (1.68) 1.4724 (1.77) 0.0525 (1.37) 1.4636 (1.77) 0.0596 (1.18) 54;6 679.1737 (0.56) 232 1 -test_benchmark_query10 24.5189 (34.65) 26.1044 (24.74) 25.2219 (30.36) 0.3681 (9.62) 25.2228 (30.42) 0.5567 (11.05) 13;0 39.6482 (0.03) 39 1 -test_benchmark_query11 2.7414 (3.87) 4.0430 (3.83) 3.2230 (3.88) 0.2305 (6.02) 3.2217 (3.89) 0.2930 (5.82) 75;2 310.2685 (0.26) 229 1 -test_benchmark_query12 17.1755 (24.27) 18.3755 (17.41) 17.7318 (21.35) 0.2483 (6.49) 17.6685 (21.31) 0.2672 (5.30) 14;4 56.3959 (0.05) 58 1 -test_benchmark_query13 8.3278 (11.77) 9.9391 (9.42) 8.6597 (10.43) 0.2016 (5.27) 8.6350 (10.41) 0.2352 (4.67) 22;1 115.4775 (0.10) 110 1 -test_benchmark_query14 2.5917 (3.66) 3.2937 (3.12) 2.7956 (3.37) 0.1052 (2.75) 2.7737 (3.34) 0.1003 (1.99) 61;17 357.7025 (0.30) 318 1 -test_benchmark_query15 2.1405 (3.02) 2.8080 (2.66) 2.2776 (2.74) 0.0736 (1.92) 2.2651 (2.73) 0.0787 (1.56) 84;13 439.0494 (0.36) 403 1 -test_benchmark_query16 3.9124 (5.53) 5.2454 (4.97) 4.2132 (5.07) 0.1204 (3.14) 4.2151 (5.08) 0.1292 (2.56) 45;3 237.3504 (0.20) 234 1 -test_benchmark_query17 2.4369 (3.44) 2.9189 (2.77) 2.5873 (3.11) 0.0704 (1.84) 2.5801 (3.11) 0.0785 (1.56) 82;13 386.5047 (0.32) 339 1 -test_benchmark_query18 1.8815 (2.66) 2.3139 (2.19) 2.0325 (2.45) 0.0625 (1.63) 2.0295 (2.45) 0.0839 (1.67) 131;7 492.0153 (0.41) 455 1 -test_benchmark_query19 18.4428 (26.06) 19.6378 (18.61) 18.9444 (22.81) 0.2700 (7.05) 18.9392 (22.84) 0.3506 (6.96) 16;1 52.7861 (0.04) 52 1 -test_benchmark_query2 2.0713 (2.93) 2.5650 (2.43) 2.3162 (2.79) 0.0817 (2.13) 2.3036 (2.78) 0.1143 (2.27) 121;2 431.7420 (0.36) 389 1 -test_benchmark_query20 2.1316 (3.01) 2.9786 (2.82) 2.3992 (2.89) 0.1500 (3.92) 2.3583 (2.84) 0.1600 (3.18) 85;26 416.8106 (0.35) 368 1 -test_benchmark_query21 1.5456 (2.18) 1.9687 (1.87) 1.6820 (2.02) 0.0697 (1.82) 1.6773 (2.02) 0.0838 (1.66) 103;14 594.5466 (0.49) 398 1 -test_benchmark_query22 12.1362 (17.15) 12.8211 (12.15) 12.4648 (15.01) 0.1629 (4.26) 12.4526 (15.02) 0.2373 (4.71) 26;0 80.2257 (0.07) 78 1 -test_benchmark_query23 2.4816 (3.51) 3.0308 (2.87) 2.6765 (3.22) 0.0765 (2.00) 2.6667 (3.22) 0.0908 (1.80) 96;7 373.6270 (0.31) 332 1 -test_benchmark_query24 1.8614 (2.63) 2.2366 (2.12) 1.9925 (2.40) 0.0576 (1.50) 1.9885 (2.40) 0.0692 (1.37) 124;9 501.8797 (0.42) 440 1 -test_benchmark_query25 1.3479 (1.90) 1.8455 (1.75) 1.4648 (1.76) 0.0465 (1.22) 1.4623 (1.76) 0.0584 (1.16) 175;4 682.6643 (0.57) 611 1 -test_benchmark_query26 2.8840 (4.08) 3.4320 (3.25) 3.1116 (3.75) 0.0938 (2.45) 3.1040 (3.74) 0.1305 (2.59) 93;3 321.3729 (0.27) 316 1 -test_benchmark_query27 22.4221 (31.69) 23.7178 (22.48) 23.0234 (27.72) 0.3001 (7.84) 23.0482 (27.79) 0.4085 (8.11) 14;0 43.4341 (0.04) 42 1 -test_benchmark_query28 2.6678 (3.77) 3.3802 (3.20) 2.8639 (3.45) 0.1074 (2.80) 2.8417 (3.43) 0.1035 (2.05) 62;16 349.1685 (0.29) 301 1 -test_benchmark_query29 2.4007 (3.39) 3.0182 (2.86) 2.6757 (3.22) 0.0928 (2.42) 2.6743 (3.23) 0.1226 (2.43) 118;5 373.7399 (0.31) 383 1 -test_benchmark_query3 3.1942 (4.51) 3.8568 (3.65) 3.3852 (4.08) 0.0895 (2.34) 3.3731 (4.07) 0.1102 (2.19) 75;4 295.4012 (0.25) 255 1 -test_benchmark_query4 2.8370 (4.01) 3.6791 (3.49) 3.1119 (3.75) 0.1136 (2.97) 3.1145 (3.76) 0.1467 (2.91) 96;2 321.3500 (0.27) 309 1 -test_benchmark_query5 1.8461 (2.61) 2.3278 (2.21) 2.1083 (2.54) 0.0858 (2.24) 2.1098 (2.54) 0.1243 (2.47) 128;3 474.3254 (0.39) 403 1 -test_benchmark_query6 0.7076 (1.0) 1.0553 (1.0) 0.8306 (1.0) 0.0383 (1.0) 0.8292 (1.0) 0.0504 (1.0) 273;10 1,203.8883 (1.0) 944 1 -test_benchmark_query7 12.7920 (18.08) 13.8115 (13.09) 13.2379 (15.94) 0.2134 (5.57) 13.1735 (15.89) 0.2816 (5.59) 21;1 75.5406 (0.06) 73 1 -test_benchmark_query8 1.1148 (1.58) 1.4808 (1.40) 1.2611 (1.52) 0.0517 (1.35) 1.2631 (1.52) 0.0723 (1.44) 191;4 792.9300 (0.66) 602 1 -test_benchmark_query9 2.0159 (2.85) 2.5005 (2.37) 2.1874 (2.63) 0.0663 (1.73) 2.1839 (2.63) 0.0880 (1.75) 127;3 457.1621 (0.38) 423 1 +test_benchmark_query1 1.4880 (2.00) 1.7510 (1.70) 1.5913 (1.88) 0.0707 (1.82) 1.5808 (1.87) 0.1047 (2.05) 6;0 628.4261 (0.53) 20 1 +test_benchmark_query10 24.5643 (33.03) 26.1123 (25.41) 25.2822 (29.88) 0.3587 (9.22) 25.2022 (29.84) 0.5195 (10.18) 10;0 39.5535 (0.03) 39 1 +test_benchmark_query11 2.9605 (3.98) 4.1125 (4.00) 3.3338 (3.94) 0.2158 (5.55) 3.3298 (3.94) 0.3030 (5.94) 31;2 299.9581 (0.25) 98 1 +test_benchmark_query12 17.3072 (23.28) 18.8930 (18.39) 18.0033 (21.28) 0.3471 (8.92) 17.9671 (21.27) 0.4776 (9.36) 14;0 55.5453 (0.05) 50 1 +test_benchmark_query13 8.3172 (11.19) 12.7550 (12.41) 8.8557 (10.47) 0.7152 (18.38) 8.6996 (10.30) 0.2604 (5.10) 6;8 112.9218 (0.10) 105 1 +test_benchmark_query14 2.6341 (3.54) 9.8257 (9.56) 2.8916 (3.42) 0.5145 (13.22) 2.8136 (3.33) 0.1835 (3.60) 5;13 345.8292 (0.29) 314 1 +test_benchmark_query15 2.1769 (2.93) 2.5593 (2.49) 2.3119 (2.73) 0.0629 (1.62) 2.3029 (2.73) 0.0816 (1.60) 117;7 432.5516 (0.37) 398 1 +test_benchmark_query16 3.9541 (5.32) 17.1901 (16.73) 4.4465 (5.25) 0.9964 (25.61) 4.2662 (5.05) 0.2572 (5.04) 4;22 224.8946 (0.19) 196 1 +test_benchmark_query17 2.4389 (3.28) 3.4308 (3.34) 2.7018 (3.19) 0.1502 (3.86) 2.6657 (3.16) 0.1760 (3.45) 72;5 370.1262 (0.31) 263 1 +test_benchmark_query18 1.9281 (2.59) 9.6172 (9.36) 2.1926 (2.59) 0.6380 (16.40) 2.0884 (2.47) 0.1196 (2.34) 10;43 456.0866 (0.39) 464 1 +test_benchmark_query19 18.6085 (25.03) 20.2367 (19.70) 19.2952 (22.80) 0.4137 (10.63) 19.2328 (22.77) 0.6143 (12.03) 14;0 51.8264 (0.04) 51 1 +test_benchmark_query2 2.0981 (2.82) 2.9451 (2.87) 2.3721 (2.80) 0.1214 (3.12) 2.3592 (2.79) 0.1106 (2.17) 53;16 421.5694 (0.36) 207 1 +test_benchmark_query20 2.1109 (2.84) 3.1520 (3.07) 2.5914 (3.06) 0.2243 (5.76) 2.5667 (3.04) 0.3413 (6.69) 102;0 385.8904 (0.33) 285 1 +test_benchmark_query21 1.5824 (2.13) 2.0726 (2.02) 1.7486 (2.07) 0.0974 (2.50) 1.7318 (2.05) 0.1115 (2.18) 19;2 571.8983 (0.48) 64 1 +test_benchmark_query22 12.3993 (16.67) 26.4168 (25.71) 13.6543 (16.14) 2.5838 (66.41) 12.9595 (15.34) 0.5255 (10.30) 4;9 73.2369 (0.06) 72 1 +test_benchmark_query23 2.5095 (3.37) 3.3880 (3.30) 2.7454 (3.24) 0.1453 (3.73) 2.7139 (3.21) 0.1331 (2.61) 67;23 364.2406 (0.31) 312 1 +test_benchmark_query24 1.8287 (2.46) 2.3992 (2.34) 1.9825 (2.34) 0.0662 (1.70) 1.9785 (2.34) 0.0714 (1.40) 78;8 504.4231 (0.43) 313 1 +test_benchmark_query25 1.3210 (1.78) 1.6379 (1.59) 1.4607 (1.73) 0.0466 (1.20) 1.4606 (1.73) 0.0582 (1.14) 186;8 684.5953 (0.58) 628 1 +test_benchmark_query26 2.8380 (3.82) 3.8140 (3.71) 3.0986 (3.66) 0.1412 (3.63) 3.0721 (3.64) 0.1485 (2.91) 67;10 322.7225 (0.27) 293 1 +test_benchmark_query27 22.3448 (30.05) 23.8053 (23.17) 23.0160 (27.20) 0.2981 (7.66) 23.0332 (27.27) 0.3432 (6.72) 10;2 43.4480 (0.04) 43 1 +test_benchmark_query28 2.6078 (3.51) 3.0987 (3.02) 2.7874 (3.29) 0.0866 (2.23) 2.7748 (3.29) 0.1139 (2.23) 77;7 358.7552 (0.30) 305 1 +test_benchmark_query29 2.4340 (3.27) 6.4821 (6.31) 2.6923 (3.18) 0.2189 (5.63) 2.6807 (3.17) 0.1056 (2.07) 10;12 371.4282 (0.31) 362 1 +test_benchmark_query3 3.1701 (4.26) 4.7527 (4.63) 3.3894 (4.01) 0.1563 (4.02) 3.3644 (3.98) 0.1318 (2.58) 30;11 295.0366 (0.25) 185 1 +test_benchmark_query30 30.4550 (40.96) 32.1223 (31.26) 31.2980 (36.99) 0.3605 (9.26) 31.3224 (37.08) 0.3275 (6.42) 10;3 31.9510 (0.03) 32 1 +test_benchmark_query4 2.9182 (3.92) 3.4547 (3.36) 3.1160 (3.68) 0.1073 (2.76) 3.1019 (3.67) 0.1349 (2.64) 62;4 320.9208 (0.27) 205 1 +test_benchmark_query5 1.8660 (2.51) 2.5484 (2.48) 2.1055 (2.49) 0.0893 (2.29) 2.1014 (2.49) 0.1063 (2.08) 66;8 474.9472 (0.40) 243 1 +test_benchmark_query6 0.7436 (1.0) 1.0275 (1.0) 0.8462 (1.0) 0.0389 (1.0) 0.8447 (1.0) 0.0510 (1.0) 321;15 1,181.7965 (1.0) 1091 1 +test_benchmark_query7 12.8149 (17.23) 14.5070 (14.12) 13.3133 (15.73) 0.3028 (7.78) 13.2999 (15.75) 0.3600 (7.05) 18;3 75.1126 (0.06) 67 1 +test_benchmark_query8 1.1346 (1.53) 1.5817 (1.54) 1.2828 (1.52) 0.0620 (1.59) 1.2793 (1.51) 0.0749 (1.47) 72;7 779.5587 (0.66) 263 1 +test_benchmark_query9 1.9952 (2.68) 2.4711 (2.40) 2.1742 (2.57) 0.0745 (1.91) 2.1683 (2.57) 0.0879 (1.72) 114;15 459.9466 (0.39) 416 1 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Legend: Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile. OPS: Operations Per Second, computed as 1 / Mean -============================================ 29 passed in 27.64s ============================================= +======================================= 30 passed in 25.64s ======================================= ``` \ No newline at end of file diff --git a/lance_graph/benchmark_query.py b/lance_graph/benchmark_query.py index 1621e32..1356a8b 100644 --- a/lance_graph/benchmark_query.py +++ b/lance_graph/benchmark_query.py @@ -239,6 +239,6 @@ def test_benchmark_query29(benchmark, engine): _assert_single_value(result, "has_written_post_with_safari", False) -# def test_benchmark_query30(benchmark, engine): -# result = benchmark(query.run_query30, engine) -# _assert_single_value(result, "has_self_reply", True) +def test_benchmark_query30(benchmark, engine): + result = benchmark(query.run_query30, engine) + _assert_single_value(result, "has_self_reply", True) diff --git a/lance_graph/query.py b/lance_graph/query.py index 4a85f1f..5b103ed 100644 --- a/lance_graph/query.py +++ b/lance_graph/query.py @@ -507,10 +507,9 @@ def run_query29(engine: CypherEngine) -> pl.DataFrame: def run_query30(engine: CypherEngine) -> pl.DataFrame: "Are there comments replying to posts created by the same person?" query = """ - MATCH (c1:Comment)-[:commentHasCreator]->(p:Person) - <-[:postHasCreator]-(post:Post)<-[:replyOfPost]-(c2:Comment) - WHERE c1.id = c2.id - RETURN COUNT(DISTINCT c1.id) AS has_self_reply + MATCH (c:Comment)-[:commentHasCreator]->(creator:Person), + (c)-[:replyOfPost]->(post:Post)-[:postHasCreator]->(creator) + RETURN COUNT(DISTINCT c.ID) AS has_self_reply """ return _execute_count_as_bool( engine, @@ -551,7 +550,7 @@ def run_query30(engine: CypherEngine) -> pl.DataFrame: 27: run_query27, 28: run_query28, 29: run_query29, - # 30: run_query30, # Disabled: self-reply query + 30: run_query30, } diff --git a/neo4j/README.md b/neo4j/README.md index f6bb962..9217faf 100644 --- a/neo4j/README.md +++ b/neo4j/README.md @@ -52,54 +52,55 @@ systems. ```bash ❯ uv run pytest benchmark_query.py --benchmark-min-rounds=5 --benchmark-warmup-iterations=5 --benchmark-disable-gc --benchmark-sort=fullname -==================================== test session starts ==================================== +=========================================== test session starts =========================================== platform darwin -- Python 3.13.7, pytest-9.0.2, pluggy-1.6.0 benchmark: 5.2.3 (defaults: timer=time.perf_counter disable_gc=True min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=5) rootdir: /Users/prrao/code/graph-benchmark-ldbc-snb configfile: pyproject.toml plugins: anyio-4.12.1, benchmark-5.2.3, asyncio-1.3.0, Faker-40.1.2 asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function -collected 29 items - -benchmark_query.py ............................. [100%] - - --------------------------------------------------------------------------------------- benchmark: 29 tests -------------------------------------------------------------------------------------- -Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -test_benchmark_query1 4.5662 (4.07) 7.9165 (2.15) 5.7428 (3.78) 1.2804 (2.71) 5.3974 (3.84) 1.1992 (6.12) 1;0 174.1311 (0.26) 5 1 -test_benchmark_query10 4.3096 (3.85) 7.6700 (2.08) 4.9036 (3.23) 0.8107 (1.72) 4.5665 (3.25) 0.3377 (1.72) 3;3 203.9318 (0.31) 21 1 -test_benchmark_query11 11.3090 (10.09) 16.4480 (4.46) 12.9206 (8.51) 1.7023 (3.61) 12.1890 (8.68) 2.8055 (14.32) 2;0 77.3955 (0.12) 14 1 -test_benchmark_query12 3.4635 (3.09) 6.5704 (1.78) 4.6609 (3.07) 1.1609 (2.46) 4.4706 (3.18) 1.1712 (5.98) 2;0 214.5527 (0.33) 5 1 -test_benchmark_query13 7.6419 (6.82) 10.2188 (2.77) 8.7770 (5.78) 0.9356 (1.98) 8.5917 (6.12) 0.9677 (4.94) 2;0 113.9337 (0.17) 5 1 -test_benchmark_query14 1.1795 (1.05) 4.0575 (1.10) 1.5923 (1.05) 0.5706 (1.21) 1.4067 (1.00) 0.2915 (1.49) 4;4 628.0120 (0.95) 35 1 -test_benchmark_query15 2.7099 (2.42) 5.9078 (1.60) 3.2335 (2.13) 0.5319 (1.13) 3.1391 (2.23) 0.2711 (1.38) 2;2 309.2583 (0.47) 33 1 -test_benchmark_query16 1.4991 (1.34) 4.2685 (1.16) 1.9887 (1.31) 0.5715 (1.21) 1.8387 (1.31) 0.4499 (2.30) 3;2 502.8378 (0.76) 27 1 -test_benchmark_query17 3.6983 (3.30) 16.9161 (4.59) 5.2950 (3.49) 3.1083 (6.59) 4.1400 (2.95) 0.7694 (3.93) 2;3 188.8588 (0.29) 21 1 -test_benchmark_query18 3.6140 (3.23) 6.8964 (1.87) 4.0790 (2.69) 0.6890 (1.46) 3.9085 (2.78) 0.2310 (1.18) 2;3 245.1596 (0.37) 22 1 -test_benchmark_query19 5.3842 (4.80) 8.9943 (2.44) 6.1461 (4.05) 1.5929 (3.38) 5.4534 (3.88) 0.9807 (5.00) 1;1 162.7046 (0.25) 5 1 -test_benchmark_query2 5.5077 (4.92) 7.7213 (2.09) 6.4048 (4.22) 0.8509 (1.80) 6.0194 (4.28) 1.5655 (7.99) 4;0 156.1333 (0.24) 9 1 -test_benchmark_query20 400.9177 (357.78) 463.1863 (125.58) 421.8090 (277.94) 24.5619 (52.06) 412.9683 (293.94) 27.1205 (138.38) 1;0 2.3707 (0.00) 5 1 -test_benchmark_query21 1.2233 (1.09) 4.1606 (1.13) 1.5734 (1.04) 0.5670 (1.20) 1.4747 (1.05) 0.1960 (1.0) 1;2 635.5555 (0.96) 25 1 -test_benchmark_query22 3.2502 (2.90) 5.2348 (1.42) 3.6827 (2.43) 0.7463 (1.58) 3.3378 (2.38) 0.6475 (3.30) 1;1 271.5424 (0.41) 7 1 -test_benchmark_query23 3.2370 (2.89) 6.6556 (1.80) 4.0356 (2.66) 0.8064 (1.71) 3.9351 (2.80) 0.7647 (3.90) 4;2 247.7977 (0.38) 25 1 -test_benchmark_query24 1.1206 (1.0) 4.0367 (1.09) 1.5177 (1.0) 0.4718 (1.0) 1.4050 (1.0) 0.3551 (1.81) 1;1 658.9131 (1.0) 37 1 -test_benchmark_query25 2.6251 (2.34) 5.6793 (1.54) 3.0771 (2.03) 0.6817 (1.44) 2.8469 (2.03) 0.3698 (1.89) 3;3 324.9813 (0.49) 25 1 -test_benchmark_query26 1.2396 (1.11) 3.6884 (1.0) 1.7845 (1.18) 0.5056 (1.07) 1.7100 (1.22) 0.3985 (2.03) 5;2 560.3905 (0.85) 25 1 -test_benchmark_query27 2.6475 (2.36) 5.5377 (1.50) 3.3515 (2.21) 1.0913 (2.31) 2.8824 (2.05) 0.4261 (2.17) 1;1 298.3708 (0.45) 6 1 -test_benchmark_query28 3.0628 (2.73) 6.0044 (1.63) 4.3319 (2.85) 1.2427 (2.63) 3.6485 (2.60) 2.2453 (11.46) 3;0 230.8469 (0.35) 8 1 -test_benchmark_query29 2.5316 (2.26) 5.5024 (1.49) 3.0835 (2.03) 0.4901 (1.04) 2.9675 (2.11) 0.3126 (1.60) 6;3 324.3094 (0.49) 39 1 -test_benchmark_query3 1.9932 (1.78) 6.7290 (1.82) 2.7822 (1.83) 1.1888 (2.52) 2.4327 (1.73) 0.5806 (2.96) 1;1 359.4313 (0.55) 14 1 -test_benchmark_query4 4.1825 (3.73) 7.5235 (2.04) 4.8082 (3.17) 0.7715 (1.64) 4.5888 (3.27) 0.5105 (2.60) 2;2 207.9802 (0.32) 18 1 -test_benchmark_query5 4.5011 (4.02) 6.3177 (1.71) 5.0708 (3.34) 0.6389 (1.35) 4.8507 (3.45) 0.2684 (1.37) 1;1 197.2073 (0.30) 6 1 -test_benchmark_query6 3.3081 (2.95) 6.7625 (1.83) 4.1487 (2.73) 0.7289 (1.54) 3.9722 (2.83) 0.4310 (2.20) 4;3 241.0393 (0.37) 21 1 -test_benchmark_query7 1.6739 (1.49) 5.2899 (1.43) 2.1989 (1.45) 1.0538 (2.23) 1.7943 (1.28) 0.5013 (2.56) 1;1 454.7639 (0.69) 11 1 -test_benchmark_query8 13.4295 (11.98) 17.6011 (4.77) 15.5802 (10.27) 1.7500 (3.71) 15.4720 (11.01) 3.4450 (17.58) 5;0 64.1840 (0.10) 9 1 -test_benchmark_query9 1.9796 (1.77) 5.6878 (1.54) 2.6149 (1.72) 0.9271 (1.97) 2.2784 (1.62) 0.5254 (2.68) 2;2 382.4230 (0.58) 19 1 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +collected 30 items + +benchmark_query.py .............................. [100%] + + +------------------------------------------------------------------------------------------ benchmark: 30 tests ------------------------------------------------------------------------------------------ +Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +test_benchmark_query1 3.8717 (3.18) 7.4454 (1.97) 4.8933 (2.98) 1.4850 (3.61) 4.2990 (2.72) 1.6227 (9.69) 1;0 204.3628 (0.34) 5 1 +test_benchmark_query10 4.1303 (3.39) 7.1820 (1.90) 4.9262 (3.00) 0.6567 (1.60) 4.8589 (3.08) 0.6227 (3.72) 3;1 202.9957 (0.33) 19 1 +test_benchmark_query11 12.9360 (10.62) 18.0553 (4.79) 14.9252 (9.08) 1.6719 (4.06) 14.4897 (9.18) 2.7231 (16.26) 5;0 67.0007 (0.11) 12 1 +test_benchmark_query12 5.6573 (4.64) 14.3229 (3.80) 8.0887 (4.92) 3.5239 (8.56) 6.7725 (4.29) 2.4496 (14.62) 1;1 123.6298 (0.20) 5 1 +test_benchmark_query13 8.3255 (6.83) 13.8492 (3.67) 9.8533 (6.00) 2.2754 (5.53) 8.8053 (5.58) 1.9628 (11.72) 1;1 101.4885 (0.17) 5 1 +test_benchmark_query14 1.2736 (1.05) 4.3214 (1.15) 1.6888 (1.03) 0.5472 (1.33) 1.6169 (1.02) 0.3128 (1.87) 2;2 592.1243 (0.97) 31 1 +test_benchmark_query15 2.8993 (2.38) 5.9215 (1.57) 3.3052 (2.01) 0.5641 (1.37) 3.2112 (2.04) 0.2019 (1.21) 2;3 302.5522 (0.50) 28 1 +test_benchmark_query16 1.8147 (1.49) 5.0642 (1.34) 2.4007 (1.46) 0.6697 (1.63) 2.2750 (1.44) 0.4678 (2.79) 2;2 416.5537 (0.68) 24 1 +test_benchmark_query17 3.3443 (2.75) 16.6362 (4.41) 4.9384 (3.01) 3.3127 (8.05) 3.7099 (2.35) 0.8293 (4.95) 2;3 202.4931 (0.33) 19 1 +test_benchmark_query18 3.2864 (2.70) 6.3495 (1.68) 3.6899 (2.25) 0.6538 (1.59) 3.5115 (2.23) 0.2724 (1.63) 2;2 271.0126 (0.45) 22 1 +test_benchmark_query19 5.6897 (4.67) 15.6924 (4.16) 7.7676 (4.73) 4.4306 (10.77) 5.8476 (3.71) 2.5726 (15.36) 1;1 128.7393 (0.21) 5 1 +test_benchmark_query2 4.6268 (3.80) 7.5288 (2.00) 5.9006 (3.59) 0.9334 (2.27) 5.8460 (3.71) 1.0465 (6.25) 3;0 169.4754 (0.28) 9 1 +test_benchmark_query20 433.0199 (355.47) 599.6303 (158.94) 475.7287 (289.49) 70.1786 (170.56) 451.5764 (286.20) 60.4575 (360.94) 1;1 2.1020 (0.00) 5 1 +test_benchmark_query21 1.2413 (1.02) 4.1425 (1.10) 1.8157 (1.10) 0.6634 (1.61) 1.6061 (1.02) 0.2651 (1.58) 2;3 550.7550 (0.91) 24 1 +test_benchmark_query22 3.0699 (2.52) 6.0628 (1.61) 3.6491 (2.22) 1.0811 (2.63) 3.1857 (2.02) 0.4395 (2.62) 1;1 274.0428 (0.45) 7 1 +test_benchmark_query23 3.1808 (2.61) 6.2377 (1.65) 3.9493 (2.40) 0.7700 (1.87) 3.6955 (2.34) 0.3280 (1.96) 5;5 253.2080 (0.42) 26 1 +test_benchmark_query24 1.2182 (1.0) 3.7727 (1.0) 1.6434 (1.0) 0.4115 (1.0) 1.5779 (1.0) 0.1933 (1.15) 5;3 608.5094 (1.0) 36 1 +test_benchmark_query25 2.4818 (2.04) 5.5808 (1.48) 3.0793 (1.87) 0.6214 (1.51) 3.0067 (1.91) 0.4830 (2.88) 2;2 324.7485 (0.53) 26 1 +test_benchmark_query26 1.4263 (1.17) 4.1306 (1.09) 1.8218 (1.11) 0.5590 (1.36) 1.6973 (1.08) 0.2476 (1.48) 2;2 548.9102 (0.90) 24 1 +test_benchmark_query27 2.4140 (1.98) 6.7904 (1.80) 3.5443 (2.16) 1.6484 (4.01) 3.0405 (1.93) 1.1359 (6.78) 1;1 282.1438 (0.46) 6 1 +test_benchmark_query28 2.6972 (2.21) 5.7863 (1.53) 3.9115 (2.38) 1.1912 (2.90) 3.2406 (2.05) 1.8656 (11.14) 3;0 255.6591 (0.42) 7 1 +test_benchmark_query29 2.6210 (2.15) 6.2340 (1.65) 2.9144 (1.77) 0.5743 (1.40) 2.8131 (1.78) 0.1810 (1.08) 1;2 343.1289 (0.56) 38 1 +test_benchmark_query3 2.2591 (1.85) 6.8616 (1.82) 2.9493 (1.79) 1.2008 (2.92) 2.5070 (1.59) 0.4899 (2.92) 1;1 339.0627 (0.56) 14 1 +test_benchmark_query30 1,213.2225 (995.94) 1,350.6868 (358.01) 1,255.1823 (763.79) 55.0428 (133.77) 1,234.8569 (782.62) 51.8661 (309.65) 1;0 0.7967 (0.00) 5 1 +test_benchmark_query4 3.5955 (2.95) 6.8703 (1.82) 4.1218 (2.51) 0.7246 (1.76) 3.8414 (2.43) 0.4304 (2.57) 1;1 242.6149 (0.40) 19 1 +test_benchmark_query5 4.1471 (3.40) 5.9247 (1.57) 4.8703 (2.96) 0.8128 (1.98) 4.4418 (2.82) 1.5192 (9.07) 2;0 205.3253 (0.34) 6 1 +test_benchmark_query6 2.9778 (2.44) 6.0410 (1.60) 3.8818 (2.36) 0.6363 (1.55) 3.6772 (2.33) 0.4742 (2.83) 4;2 257.6104 (0.42) 22 1 +test_benchmark_query7 1.6695 (1.37) 5.1811 (1.37) 2.2006 (1.34) 0.9576 (2.33) 1.9172 (1.22) 0.2810 (1.68) 1;1 454.4178 (0.75) 12 1 +test_benchmark_query8 11.7353 (9.63) 18.6258 (4.94) 14.5516 (8.85) 2.4514 (5.96) 14.0285 (8.89) 4.5380 (27.09) 3;0 68.7208 (0.11) 9 1 +test_benchmark_query9 2.0752 (1.70) 6.4517 (1.71) 2.8203 (1.72) 1.0421 (2.53) 2.4998 (1.58) 0.1675 (1.0) 2;4 354.5747 (0.58) 18 1 +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Legend: Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile. OPS: Operations Per Second, computed as 1 / Mean -==================================== 29 passed in 13.19s ==================================== +=========================================== 30 passed in 23.96s =========================================== ``` diff --git a/neo4j/benchmark_query.py b/neo4j/benchmark_query.py index ea0da2c..c4d31df 100644 --- a/neo4j/benchmark_query.py +++ b/neo4j/benchmark_query.py @@ -262,6 +262,6 @@ def test_benchmark_query29(benchmark, session, event_loop): _assert_single_value(result, "has_written_post_with_safari", False) -# def test_benchmark_query30(benchmark, session, event_loop): -# result = benchmark(lambda: _run(event_loop, query.run_query30(session))) -# _assert_single_value(result, "has_self_reply", True) +def test_benchmark_query30(benchmark, session, event_loop): + result = benchmark(lambda: _run(event_loop, query.run_query30(session))) + _assert_single_value(result, "has_self_reply", True) diff --git a/neo4j/query.py b/neo4j/query.py index 9741d8f..7df1679 100644 --- a/neo4j/query.py +++ b/neo4j/query.py @@ -343,8 +343,8 @@ async def run_query29(session: AsyncSession): async def run_query30(session: AsyncSession): "Are there comments replying to posts created by the same person?" query = """ - MATCH (c:Comment)-[:commentHasCreator]->(p:Person) - <-[:postHasCreator]-(post:Post)<-[:replyOfPost]-(c) + MATCH (c:Comment)-[:commentHasCreator]->(creator:Person), + (c)-[:replyOfPost]->(post:Post)-[:postHasCreator]->(creator) RETURN COUNT(DISTINCT c.ID) > 0 AS has_self_reply; """ return await _execute(session, 30, query) @@ -380,7 +380,7 @@ async def run_query30(session: AsyncSession): 27: run_query27, 28: run_query28, 29: run_query29, - # 30: run_query30, # Disabled: self-reply query + 30: run_query30, } diff --git a/pyproject.toml b/pyproject.toml index 4764528..1bc11dd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ dependencies = [ "dspy>=3.1.2", "faker>=40.1.2", "kuzu>=0.11.3", - "lance-graph>=0.5.1", + "lance-graph>=0.5.2", "matplotlib>=3.10.8", "neo4j>=6.1.0", "polars>=1.37.1", diff --git a/results/lance-graph-0.5.1.txt b/results/archived/lance-graph-0.5.1.txt similarity index 100% rename from results/lance-graph-0.5.1.txt rename to results/archived/lance-graph-0.5.1.txt diff --git a/results/benchmark_heatmap.png b/results/benchmark_heatmap.png index 3b9de45..0694767 100644 Binary files a/results/benchmark_heatmap.png and b/results/benchmark_heatmap.png differ diff --git a/results/kuzu-0.11.3.txt b/results/kuzu-0.11.3.txt index eb72922..d144b5f 100644 --- a/results/kuzu-0.11.3.txt +++ b/results/kuzu-0.11.3.txt @@ -1,33 +1,34 @@ ------------------------------------------------------------------------------------- benchmark: 29 tests ------------------------------------------------------------------------------------ -Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -test_benchmark_query1 2.2577 (4.66) 2.6252 (3.30) 2.3674 (4.00) 0.1256 (2.17) 2.3013 (3.96) 0.1035 (1.40) 1;1 422.4013 (0.25) 7 1 -test_benchmark_query10 1.5427 (3.19) 2.1656 (2.73) 1.7854 (3.02) 0.1151 (1.99) 1.7797 (3.07) 0.1413 (1.91) 68;2 560.0853 (0.33) 219 1 -test_benchmark_query11 7.6476 (15.80) 8.9412 (11.25) 8.0510 (13.61) 0.2907 (5.01) 8.0069 (13.79) 0.3396 (4.59) 20;5 124.2076 (0.07) 76 1 -test_benchmark_query12 14.4927 (29.94) 27.4369 (34.53) 18.3637 (31.05) 3.8226 (65.95) 16.2928 (28.07) 5.7663 (78.01) 4;0 54.4552 (0.03) 15 1 -test_benchmark_query13 48.4199 (100.02) 51.4664 (64.77) 50.2393 (84.96) 0.8729 (15.06) 50.3359 (86.72) 1.4880 (20.13) 7;0 19.9047 (0.01) 18 1 -test_benchmark_query14 1.4160 (2.92) 1.9150 (2.41) 1.6599 (2.81) 0.1091 (1.88) 1.6518 (2.85) 0.1297 (1.75) 51;1 602.4426 (0.36) 155 1 -test_benchmark_query15 2.4607 (5.08) 3.2792 (4.13) 2.6984 (4.56) 0.1264 (2.18) 2.6811 (4.62) 0.1637 (2.21) 86;5 370.5902 (0.22) 278 1 -test_benchmark_query16 1.7999 (3.72) 2.1456 (2.70) 1.9558 (3.31) 0.0769 (1.33) 1.9431 (3.35) 0.1080 (1.46) 36;0 511.3071 (0.30) 102 1 -test_benchmark_query17 2.7153 (5.61) 3.4063 (4.29) 2.9574 (5.00) 0.1463 (2.52) 2.9277 (5.04) 0.1782 (2.41) 46;9 338.1399 (0.20) 184 1 -test_benchmark_query18 1.4720 (3.04) 7.3080 (9.20) 1.7397 (2.94) 0.3661 (6.32) 1.6984 (2.93) 0.1279 (1.73) 5;10 574.8125 (0.34) 383 1 -test_benchmark_query19 8.9191 (18.42) 23.9760 (30.18) 13.2692 (22.44) 3.6640 (63.22) 12.7555 (21.98) 4.3972 (59.49) 14;2 75.3626 (0.04) 50 1 -test_benchmark_query2 1.3465 (2.78) 1.9035 (2.40) 1.4589 (2.47) 0.0886 (1.53) 1.4350 (2.47) 0.1081 (1.46) 18;1 685.4362 (0.41) 79 1 -test_benchmark_query20 10.9251 (22.57) 25.8535 (32.54) 11.9840 (20.27) 2.5636 (44.23) 11.2959 (19.46) 0.2591 (3.51) 3;6 83.4447 (0.05) 36 1 -test_benchmark_query21 0.4841 (1.0) 0.7945 (1.0) 0.5913 (1.0) 0.0580 (1.0) 0.5804 (1.0) 0.0739 (1.0) 76;6 1,691.0646 (1.0) 250 1 -test_benchmark_query22 13.8039 (28.51) 30.7185 (38.66) 19.8331 (33.54) 4.4588 (76.93) 19.3723 (33.38) 6.9103 (93.49) 9;0 50.4206 (0.03) 29 1 -test_benchmark_query23 1.1496 (2.37) 4.3593 (5.49) 1.3911 (2.35) 0.2145 (3.70) 1.3585 (2.34) 0.0933 (1.26) 19;32 718.8361 (0.43) 610 1 -test_benchmark_query24 1.2693 (2.62) 2.0424 (2.57) 1.5169 (2.57) 0.1056 (1.82) 1.5078 (2.60) 0.1322 (1.79) 107;2 659.2339 (0.39) 353 1 -test_benchmark_query25 1.4011 (2.89) 1.9984 (2.52) 1.6455 (2.78) 0.1158 (2.00) 1.6369 (2.82) 0.1343 (1.82) 104;10 607.7344 (0.36) 325 1 -test_benchmark_query26 3.2755 (6.77) 10.1319 (12.75) 3.6176 (6.12) 0.5596 (9.65) 3.5371 (6.09) 0.2210 (2.99) 4;6 276.4285 (0.16) 175 1 -test_benchmark_query27 9.4421 (19.50) 24.2963 (30.58) 13.3928 (22.65) 3.3355 (57.55) 14.2491 (24.55) 5.3340 (72.16) 30;1 74.6672 (0.04) 81 1 -test_benchmark_query28 1.3805 (2.85) 1.9694 (2.48) 1.6460 (2.78) 0.0947 (1.63) 1.6314 (2.81) 0.1175 (1.59) 130;11 607.5488 (0.36) 472 1 -test_benchmark_query29 1.0577 (2.18) 3.9660 (4.99) 1.2988 (2.20) 0.2884 (4.98) 1.2493 (2.15) 0.1126 (1.52) 9;15 769.9662 (0.46) 285 1 -test_benchmark_query3 1.1598 (2.40) 4.8344 (6.08) 1.3517 (2.29) 0.4075 (7.03) 1.2684 (2.19) 0.0970 (1.31) 3;11 739.8151 (0.44) 126 1 -test_benchmark_query4 0.9308 (1.92) 1.2335 (1.55) 1.0504 (1.78) 0.0711 (1.23) 1.0377 (1.79) 0.0961 (1.30) 66;0 952.0332 (0.56) 194 1 -test_benchmark_query5 3.5945 (7.42) 4.5954 (5.78) 3.9005 (6.60) 0.1726 (2.98) 3.9024 (6.72) 0.2002 (2.71) 23;2 256.3742 (0.15) 89 1 -test_benchmark_query6 0.6538 (1.35) 3.6604 (4.61) 0.8143 (1.38) 0.1904 (3.28) 0.7678 (1.32) 0.1126 (1.52) 29;29 1,228.0319 (0.73) 336 1 -test_benchmark_query7 29.8127 (61.58) 40.9078 (51.49) 31.0440 (52.50) 2.0570 (35.49) 30.6197 (52.75) 0.8259 (11.17) 1;1 32.2124 (0.02) 27 1 -test_benchmark_query8 2.5916 (5.35) 3.1906 (4.02) 2.7599 (4.67) 0.1295 (2.23) 2.7272 (4.70) 0.1475 (2.00) 35;8 362.3276 (0.21) 138 1 -test_benchmark_query9 1.8081 (3.73) 2.3520 (2.96) 2.0342 (3.44) 0.1250 (2.16) 2.0075 (3.46) 0.1910 (2.58) 65;0 491.6035 (0.29) 203 1 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- \ No newline at end of file +-------------------------------------------------------------------------------------- benchmark: 30 tests --------------------------------------------------------------------------------------- +Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +test_benchmark_query1 2.1209 (4.50) 2.6556 (3.34) 2.2756 (3.96) 0.1363 (2.94) 2.2485 (3.97) 0.1500 (2.90) 3;1 439.4414 (0.25) 14 1 +test_benchmark_query10 1.6590 (3.52) 4.6478 (5.84) 1.8253 (3.18) 0.1547 (3.34) 1.8034 (3.19) 0.0939 (1.81) 24;21 547.8598 (0.31) 487 1 +test_benchmark_query11 7.9723 (16.91) 9.1218 (11.46) 8.5255 (14.84) 0.2622 (5.66) 8.4948 (15.00) 0.4197 (8.11) 29;0 117.2955 (0.07) 80 1 +test_benchmark_query12 16.2808 (34.54) 34.7569 (43.65) 20.7133 (36.05) 3.3054 (71.33) 20.3600 (35.96) 2.2653 (43.77) 7;4 48.2782 (0.03) 35 1 +test_benchmark_query13 49.2052 (104.40) 59.5040 (74.73) 50.7832 (88.40) 2.2413 (48.36) 50.2405 (88.74) 0.7761 (15.00) 1;2 19.6916 (0.01) 19 1 +test_benchmark_query14 1.4937 (3.17) 1.9786 (2.48) 1.6776 (2.92) 0.0824 (1.78) 1.6659 (2.94) 0.1000 (1.93) 111;9 596.0949 (0.34) 379 1 +test_benchmark_query15 2.5168 (5.34) 3.1308 (3.93) 2.7355 (4.76) 0.0941 (2.03) 2.7249 (4.81) 0.1155 (2.23) 87;9 365.5617 (0.21) 348 1 +test_benchmark_query16 1.8140 (3.85) 2.2756 (2.86) 1.9688 (3.43) 0.0689 (1.49) 1.9644 (3.47) 0.0859 (1.66) 102;6 507.9228 (0.29) 334 1 +test_benchmark_query17 2.7828 (5.90) 8.5874 (10.78) 3.0171 (5.25) 0.4188 (9.04) 2.9600 (5.23) 0.1179 (2.28) 6;17 331.4425 (0.19) 281 1 +test_benchmark_query18 1.6130 (3.42) 2.3325 (2.93) 1.8234 (3.17) 0.0949 (2.05) 1.8152 (3.21) 0.1185 (2.29) 121;13 548.4163 (0.32) 459 1 +test_benchmark_query19 8.5983 (18.24) 23.7949 (29.88) 12.4075 (21.60) 2.7082 (58.44) 12.0801 (21.34) 3.5131 (67.88) 17;2 80.5965 (0.05) 71 1 +test_benchmark_query2 1.2590 (2.67) 2.0387 (2.56) 1.4312 (2.49) 0.0977 (2.11) 1.4153 (2.50) 0.1035 (2.00) 61;13 698.6901 (0.40) 279 1 +test_benchmark_query20 11.1750 (23.71) 21.4228 (26.90) 11.9200 (20.75) 1.4845 (32.03) 11.4913 (20.30) 0.4432 (8.56) 5;10 83.8925 (0.05) 70 1 +test_benchmark_query21 0.4713 (1.0) 0.7962 (1.0) 0.5745 (1.0) 0.0527 (1.14) 0.5661 (1.0) 0.0655 (1.27) 197;20 1,740.6530 (1.0) 724 1 +test_benchmark_query22 14.6594 (31.10) 37.5509 (47.16) 24.2478 (42.21) 4.5574 (98.34) 23.0444 (40.70) 5.4208 (104.75) 10;2 41.2409 (0.02) 43 1 +test_benchmark_query23 1.2525 (2.66) 4.4241 (5.56) 1.3910 (2.42) 0.1410 (3.04) 1.3794 (2.44) 0.0798 (1.54) 16;15 718.8820 (0.41) 587 1 +test_benchmark_query24 1.3565 (2.88) 4.7922 (6.02) 1.5415 (2.68) 0.2381 (5.14) 1.5109 (2.67) 0.0840 (1.62) 21;27 648.7317 (0.37) 642 1 +test_benchmark_query25 1.4541 (3.09) 5.7062 (7.17) 1.7919 (3.12) 0.2492 (5.38) 1.7626 (3.11) 0.1363 (2.63) 14;15 558.0717 (0.32) 552 1 +test_benchmark_query26 3.4484 (7.32) 4.1133 (5.17) 3.6787 (6.40) 0.1269 (2.74) 3.6656 (6.47) 0.1743 (3.37) 87;1 271.8387 (0.16) 250 1 +test_benchmark_query27 10.2395 (21.72) 32.9692 (41.41) 15.2078 (26.47) 4.0537 (87.48) 14.4512 (25.53) 3.5987 (69.54) 14;5 65.7559 (0.04) 73 1 +test_benchmark_query28 1.5180 (3.22) 3.8031 (4.78) 1.6778 (2.92) 0.1362 (2.94) 1.6551 (2.92) 0.1071 (2.07) 51;22 596.0221 (0.34) 486 1 +test_benchmark_query29 1.0736 (2.28) 3.6777 (4.62) 1.2813 (2.23) 0.1644 (3.55) 1.2672 (2.24) 0.0824 (1.59) 16;21 780.4858 (0.45) 724 1 +test_benchmark_query3 1.0963 (2.33) 1.8806 (2.36) 1.2479 (2.17) 0.1060 (2.29) 1.2198 (2.15) 0.1051 (2.03) 65;22 801.3508 (0.46) 408 1 +test_benchmark_query30 148.6766 (315.44) 171.5846 (215.49) 158.6827 (276.21) 8.2511 (178.05) 157.0752 (277.45) 12.4123 (239.85) 2;0 6.3019 (0.00) 7 1 +test_benchmark_query4 0.8992 (1.91) 1.2998 (1.63) 1.0380 (1.81) 0.0605 (1.30) 1.0327 (1.82) 0.0733 (1.42) 142;13 963.3932 (0.55) 517 1 +test_benchmark_query5 3.5444 (7.52) 4.1010 (5.15) 3.7562 (6.54) 0.0961 (2.07) 3.7504 (6.62) 0.1137 (2.20) 53;3 266.2274 (0.15) 181 1 +test_benchmark_query6 0.6662 (1.41) 1.0573 (1.33) 0.7689 (1.34) 0.0463 (1.0) 0.7576 (1.34) 0.0518 (1.0) 234;33 1,300.5784 (0.75) 924 1 +test_benchmark_query7 29.4940 (62.58) 42.5176 (53.40) 31.1065 (54.15) 2.2509 (48.57) 30.7164 (54.26) 0.8056 (15.57) 2;2 32.1476 (0.02) 31 1 +test_benchmark_query8 2.6213 (5.56) 3.2949 (4.14) 2.8580 (4.97) 0.1185 (2.56) 2.8365 (5.01) 0.1521 (2.94) 58;6 349.8981 (0.20) 220 1 +test_benchmark_query9 1.8395 (3.90) 5.8372 (7.33) 2.0653 (3.59) 0.2929 (6.32) 2.0221 (3.57) 0.1272 (2.46) 7;15 484.1951 (0.28) 432 1 +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/results/ladybug-0.14.1.txt b/results/ladybug-0.14.1.txt index 55b2b71..58fb0d4 100644 --- a/results/ladybug-0.14.1.txt +++ b/results/ladybug-0.14.1.txt @@ -1,33 +1,34 @@ ------------------------------------------------------------------------------------- benchmark: 29 tests ------------------------------------------------------------------------------------ -Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -test_benchmark_query1 1.8044 (3.95) 2.5032 (3.28) 2.1343 (3.64) 0.2030 (3.91) 2.1173 (3.66) 0.2622 (3.94) 2;0 468.5304 (0.28) 9 1 -test_benchmark_query10 1.6774 (3.67) 2.4054 (3.15) 1.8847 (3.21) 0.1097 (2.12) 1.8566 (3.21) 0.0887 (1.33) 43;26 530.5890 (0.31) 222 1 -test_benchmark_query11 7.7475 (16.95) 9.7963 (12.84) 8.4255 (14.35) 0.4203 (8.10) 8.3458 (14.44) 0.6017 (9.04) 19;1 118.6875 (0.07) 70 1 -test_benchmark_query12 13.8958 (30.40) 25.3557 (33.23) 17.9320 (30.55) 3.3673 (64.90) 17.3610 (30.04) 4.9085 (73.77) 5;0 55.7661 (0.03) 15 1 -test_benchmark_query13 49.7707 (108.89) 53.6029 (70.25) 51.6189 (87.93) 1.1069 (21.34) 51.5523 (89.19) 1.7811 (26.77) 6;0 19.3727 (0.01) 18 1 -test_benchmark_query14 1.5683 (3.43) 2.0795 (2.73) 1.7862 (3.04) 0.1014 (1.95) 1.7830 (3.08) 0.1086 (1.63) 47;8 559.8506 (0.33) 166 1 -test_benchmark_query15 2.5371 (5.55) 3.0657 (4.02) 2.7445 (4.68) 0.1067 (2.06) 2.7192 (4.70) 0.1441 (2.17) 94;2 364.3696 (0.21) 287 1 -test_benchmark_query16 1.7841 (3.90) 2.2375 (2.93) 1.9878 (3.39) 0.0885 (1.71) 1.9645 (3.40) 0.1083 (1.63) 31;2 503.0593 (0.30) 111 1 -test_benchmark_query17 2.7363 (5.99) 3.3285 (4.36) 2.9439 (5.01) 0.1049 (2.02) 2.9275 (5.06) 0.1302 (1.96) 53;7 339.6853 (0.20) 195 1 -test_benchmark_query18 1.5109 (3.31) 2.0728 (2.72) 1.7591 (3.00) 0.1114 (2.15) 1.7465 (3.02) 0.1302 (1.96) 108;10 568.4831 (0.33) 364 1 -test_benchmark_query19 8.9326 (19.54) 25.3142 (33.18) 13.5881 (23.15) 3.9636 (76.40) 13.4727 (23.31) 5.1604 (77.55) 16;2 73.5940 (0.04) 51 1 -test_benchmark_query2 1.4232 (3.11) 1.7122 (2.24) 1.5402 (2.62) 0.0733 (1.41) 1.5451 (2.67) 0.1123 (1.69) 31;0 649.2788 (0.38) 80 1 -test_benchmark_query20 10.6083 (23.21) 11.8530 (15.53) 11.0800 (18.87) 0.2913 (5.62) 10.9818 (19.00) 0.3855 (5.79) 11;1 90.2523 (0.05) 35 1 -test_benchmark_query21 0.4571 (1.0) 0.7630 (1.0) 0.5870 (1.0) 0.0519 (1.0) 0.5780 (1.0) 0.0665 (1.0) 64;5 1,703.4466 (1.0) 230 1 -test_benchmark_query22 13.4663 (29.46) 34.2355 (44.87) 21.2265 (36.16) 5.2868 (101.90) 21.0171 (36.36) 7.4120 (111.39) 9;0 47.1110 (0.03) 35 1 -test_benchmark_query23 1.1985 (2.62) 1.7997 (2.36) 1.4394 (2.45) 0.0915 (1.76) 1.4320 (2.48) 0.1065 (1.60) 138;16 694.7496 (0.41) 533 1 -test_benchmark_query24 1.3111 (2.87) 1.9181 (2.51) 1.5519 (2.64) 0.0983 (1.89) 1.5502 (2.68) 0.1048 (1.57) 115;23 644.3509 (0.38) 427 1 -test_benchmark_query25 1.4066 (3.08) 2.0245 (2.65) 1.6663 (2.84) 0.1209 (2.33) 1.6566 (2.87) 0.1580 (2.37) 102;3 600.1376 (0.35) 313 1 -test_benchmark_query26 3.4069 (7.45) 4.3051 (5.64) 3.7920 (6.46) 0.1652 (3.18) 3.7772 (6.53) 0.2001 (3.01) 51;5 263.7113 (0.15) 173 1 -test_benchmark_query27 10.5538 (23.09) 29.3026 (38.40) 15.9964 (27.25) 3.2494 (62.63) 15.6882 (27.14) 2.0257 (30.44) 21;13 62.5142 (0.04) 80 1 -test_benchmark_query28 1.6201 (3.54) 4.9347 (6.47) 1.8973 (3.23) 0.1950 (3.76) 1.8752 (3.24) 0.1230 (1.85) 21;11 527.0702 (0.31) 328 1 -test_benchmark_query29 1.0778 (2.36) 1.6410 (2.15) 1.2739 (2.17) 0.1077 (2.08) 1.2562 (2.17) 0.1312 (1.97) 110;9 784.9653 (0.46) 347 1 -test_benchmark_query3 1.0852 (2.37) 1.6595 (2.17) 1.2498 (2.13) 0.1120 (2.16) 1.2205 (2.11) 0.1359 (2.04) 60;6 800.1028 (0.47) 188 1 -test_benchmark_query4 0.8708 (1.91) 3.2989 (4.32) 1.1177 (1.90) 0.3012 (5.81) 1.0608 (1.84) 0.1154 (1.73) 11;13 894.7101 (0.53) 309 1 -test_benchmark_query5 3.3633 (7.36) 4.0929 (5.36) 3.6133 (6.16) 0.1499 (2.89) 3.5938 (6.22) 0.1860 (2.80) 26;3 276.7576 (0.16) 88 1 -test_benchmark_query6 0.6934 (1.52) 3.2474 (4.26) 0.9060 (1.54) 0.2521 (4.86) 0.8504 (1.47) 0.1249 (1.88) 15;25 1,103.7735 (0.65) 433 1 -test_benchmark_query7 30.0759 (65.80) 32.6885 (42.84) 31.0633 (52.91) 0.5796 (11.17) 31.0890 (53.79) 0.7172 (10.78) 7;1 32.1923 (0.02) 27 1 -test_benchmark_query8 2.6225 (5.74) 3.1663 (4.15) 2.8395 (4.84) 0.1051 (2.03) 2.8276 (4.89) 0.1405 (2.11) 51;1 352.1775 (0.21) 160 1 -test_benchmark_query9 1.8821 (4.12) 5.0720 (6.65) 2.1572 (3.67) 0.2426 (4.68) 2.1129 (3.66) 0.1525 (2.29) 13;9 463.5698 (0.27) 208 1 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- \ No newline at end of file +-------------------------------------------------------------------------------------- benchmark: 30 tests --------------------------------------------------------------------------------------- +Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +test_benchmark_query1 1.9117 (3.97) 2.6705 (2.92) 2.1081 (3.60) 0.1874 (3.60) 2.0716 (3.62) 0.1117 (1.77) 2;1 474.3652 (0.28) 13 1 +test_benchmark_query10 1.7532 (3.64) 2.3283 (2.54) 1.9033 (3.25) 0.0817 (1.57) 1.8865 (3.30) 0.0914 (1.45) 49;6 525.4153 (0.31) 209 1 +test_benchmark_query11 7.7270 (16.05) 9.0004 (9.82) 8.1187 (13.86) 0.2107 (4.05) 8.1073 (14.18) 0.2738 (4.35) 19;2 123.1724 (0.07) 75 1 +test_benchmark_query12 14.1464 (29.38) 21.6140 (23.59) 16.9058 (28.86) 2.2256 (42.73) 16.5018 (28.87) 2.8348 (45.03) 4;0 59.1512 (0.03) 16 1 +test_benchmark_query13 49.6842 (103.20) 53.5551 (58.46) 51.5110 (87.92) 0.9531 (18.30) 51.4873 (90.07) 1.1535 (18.32) 5;0 19.4133 (0.01) 18 1 +test_benchmark_query14 1.6579 (3.44) 2.1268 (2.32) 1.8347 (3.13) 0.1053 (2.02) 1.8167 (3.18) 0.1391 (2.21) 41;4 545.0562 (0.32) 144 1 +test_benchmark_query15 2.5260 (5.25) 3.4298 (3.74) 2.7253 (4.65) 0.1335 (2.56) 2.6937 (4.71) 0.1512 (2.40) 55;11 366.9327 (0.21) 269 1 +test_benchmark_query16 1.8451 (3.83) 2.3163 (2.53) 1.9933 (3.40) 0.0831 (1.60) 1.9953 (3.49) 0.0946 (1.50) 21;2 501.6840 (0.29) 85 1 +test_benchmark_query17 2.7762 (5.77) 3.4865 (3.81) 2.9867 (5.10) 0.1106 (2.12) 2.9715 (5.20) 0.1347 (2.14) 46;4 334.8133 (0.20) 190 1 +test_benchmark_query18 1.6432 (3.41) 2.2382 (2.44) 1.8052 (3.08) 0.1070 (2.06) 1.7788 (3.11) 0.1249 (1.98) 85;17 553.9455 (0.32) 365 1 +test_benchmark_query19 9.4651 (19.66) 22.8702 (24.96) 14.1154 (24.09) 2.8611 (54.93) 13.5340 (23.67) 2.4370 (38.71) 15;4 70.8448 (0.04) 56 1 +test_benchmark_query2 1.2712 (2.64) 1.9603 (2.14) 1.4940 (2.55) 0.1408 (2.70) 1.5063 (2.63) 0.2294 (3.64) 24;1 669.3568 (0.39) 63 1 +test_benchmark_query20 10.7147 (22.26) 11.1838 (12.21) 10.9092 (18.62) 0.1331 (2.56) 10.8868 (19.04) 0.1968 (3.13) 10;0 91.6657 (0.05) 23 1 +test_benchmark_query21 0.4814 (1.0) 0.9161 (1.0) 0.5859 (1.0) 0.0645 (1.24) 0.5717 (1.0) 0.0630 (1.0) 50;13 1,706.8294 (1.0) 238 1 +test_benchmark_query22 14.2664 (29.63) 34.6549 (37.83) 22.2841 (38.04) 4.2106 (80.84) 22.6807 (39.67) 5.8241 (92.51) 14;1 44.8751 (0.03) 45 1 +test_benchmark_query23 1.3136 (2.73) 2.5025 (2.73) 1.5575 (2.66) 0.1299 (2.49) 1.5345 (2.68) 0.1553 (2.47) 134;12 642.0463 (0.38) 543 1 +test_benchmark_query24 1.3690 (2.84) 1.7574 (1.92) 1.5081 (2.57) 0.0657 (1.26) 1.4949 (2.61) 0.0830 (1.32) 141;12 663.1070 (0.39) 492 1 +test_benchmark_query25 1.4820 (3.08) 4.4241 (4.83) 1.7130 (2.92) 0.2880 (5.53) 1.6657 (2.91) 0.1128 (1.79) 11;18 583.7764 (0.34) 367 1 +test_benchmark_query26 3.4514 (7.17) 4.3842 (4.79) 3.5946 (6.14) 0.0929 (1.78) 3.5871 (6.27) 0.0974 (1.55) 48;4 278.1939 (0.16) 205 1 +test_benchmark_query27 10.1100 (21.00) 28.5882 (31.21) 15.4468 (26.36) 4.4585 (85.60) 15.2192 (26.62) 4.1056 (65.21) 13;6 64.7385 (0.04) 56 1 +test_benchmark_query28 1.6654 (3.46) 2.0297 (2.22) 1.8098 (3.09) 0.0583 (1.12) 1.8051 (3.16) 0.0761 (1.21) 168;7 552.5401 (0.32) 510 1 +test_benchmark_query29 1.0920 (2.27) 1.4700 (1.60) 1.2240 (2.09) 0.0611 (1.17) 1.2120 (2.12) 0.0751 (1.19) 96;10 816.9921 (0.48) 348 1 +test_benchmark_query3 1.1448 (2.38) 1.5808 (1.73) 1.2674 (2.16) 0.0824 (1.58) 1.2460 (2.18) 0.1025 (1.63) 52;6 789.0132 (0.46) 190 1 +test_benchmark_query30 144.2956 (299.73) 169.7094 (185.25) 154.3682 (263.48) 8.5969 (165.05) 153.8919 (269.20) 11.1298 (176.78) 2;0 6.4780 (0.00) 7 1 +test_benchmark_query4 0.9089 (1.89) 1.2413 (1.35) 1.0283 (1.76) 0.0521 (1.0) 1.0202 (1.78) 0.0631 (1.00) 88;7 972.4397 (0.57) 312 1 +test_benchmark_query5 3.4085 (7.08) 4.1252 (4.50) 3.6512 (6.23) 0.1165 (2.24) 3.6401 (6.37) 0.1328 (2.11) 21;2 273.8851 (0.16) 82 1 +test_benchmark_query6 0.7381 (1.53) 1.1139 (1.22) 0.8477 (1.45) 0.0634 (1.22) 0.8386 (1.47) 0.0798 (1.27) 106;6 1,179.6415 (0.69) 336 1 +test_benchmark_query7 29.5983 (61.48) 41.4377 (45.23) 31.5597 (53.87) 2.1364 (41.02) 30.9265 (54.10) 1.1964 (19.00) 2;2 31.6860 (0.02) 29 1 +test_benchmark_query8 2.7169 (5.64) 3.2915 (3.59) 2.8623 (4.89) 0.0910 (1.75) 2.8420 (4.97) 0.1151 (1.83) 39;3 349.3652 (0.20) 148 1 +test_benchmark_query9 1.9575 (4.07) 6.0546 (6.61) 2.2280 (3.80) 0.4422 (8.49) 2.1359 (3.74) 0.1619 (2.57) 5;7 448.8280 (0.26) 196 1 +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/results/lance-graph-0.5.2.txt b/results/lance-graph-0.5.2.txt new file mode 100644 index 0000000..bc44ec1 --- /dev/null +++ b/results/lance-graph-0.5.2.txt @@ -0,0 +1,34 @@ +------------------------------------------------------------------------------------ benchmark: 30 tests ------------------------------------------------------------------------------------ +Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +test_benchmark_query1 1.4880 (2.00) 1.7510 (1.70) 1.5913 (1.88) 0.0707 (1.82) 1.5808 (1.87) 0.1047 (2.05) 6;0 628.4261 (0.53) 20 1 +test_benchmark_query10 24.5643 (33.03) 26.1123 (25.41) 25.2822 (29.88) 0.3587 (9.22) 25.2022 (29.84) 0.5195 (10.18) 10;0 39.5535 (0.03) 39 1 +test_benchmark_query11 2.9605 (3.98) 4.1125 (4.00) 3.3338 (3.94) 0.2158 (5.55) 3.3298 (3.94) 0.3030 (5.94) 31;2 299.9581 (0.25) 98 1 +test_benchmark_query12 17.3072 (23.28) 18.8930 (18.39) 18.0033 (21.28) 0.3471 (8.92) 17.9671 (21.27) 0.4776 (9.36) 14;0 55.5453 (0.05) 50 1 +test_benchmark_query13 8.3172 (11.19) 12.7550 (12.41) 8.8557 (10.47) 0.7152 (18.38) 8.6996 (10.30) 0.2604 (5.10) 6;8 112.9218 (0.10) 105 1 +test_benchmark_query14 2.6341 (3.54) 9.8257 (9.56) 2.8916 (3.42) 0.5145 (13.22) 2.8136 (3.33) 0.1835 (3.60) 5;13 345.8292 (0.29) 314 1 +test_benchmark_query15 2.1769 (2.93) 2.5593 (2.49) 2.3119 (2.73) 0.0629 (1.62) 2.3029 (2.73) 0.0816 (1.60) 117;7 432.5516 (0.37) 398 1 +test_benchmark_query16 3.9541 (5.32) 17.1901 (16.73) 4.4465 (5.25) 0.9964 (25.61) 4.2662 (5.05) 0.2572 (5.04) 4;22 224.8946 (0.19) 196 1 +test_benchmark_query17 2.4389 (3.28) 3.4308 (3.34) 2.7018 (3.19) 0.1502 (3.86) 2.6657 (3.16) 0.1760 (3.45) 72;5 370.1262 (0.31) 263 1 +test_benchmark_query18 1.9281 (2.59) 9.6172 (9.36) 2.1926 (2.59) 0.6380 (16.40) 2.0884 (2.47) 0.1196 (2.34) 10;43 456.0866 (0.39) 464 1 +test_benchmark_query19 18.6085 (25.03) 20.2367 (19.70) 19.2952 (22.80) 0.4137 (10.63) 19.2328 (22.77) 0.6143 (12.03) 14;0 51.8264 (0.04) 51 1 +test_benchmark_query2 2.0981 (2.82) 2.9451 (2.87) 2.3721 (2.80) 0.1214 (3.12) 2.3592 (2.79) 0.1106 (2.17) 53;16 421.5694 (0.36) 207 1 +test_benchmark_query20 2.1109 (2.84) 3.1520 (3.07) 2.5914 (3.06) 0.2243 (5.76) 2.5667 (3.04) 0.3413 (6.69) 102;0 385.8904 (0.33) 285 1 +test_benchmark_query21 1.5824 (2.13) 2.0726 (2.02) 1.7486 (2.07) 0.0974 (2.50) 1.7318 (2.05) 0.1115 (2.18) 19;2 571.8983 (0.48) 64 1 +test_benchmark_query22 12.3993 (16.67) 26.4168 (25.71) 13.6543 (16.14) 2.5838 (66.41) 12.9595 (15.34) 0.5255 (10.30) 4;9 73.2369 (0.06) 72 1 +test_benchmark_query23 2.5095 (3.37) 3.3880 (3.30) 2.7454 (3.24) 0.1453 (3.73) 2.7139 (3.21) 0.1331 (2.61) 67;23 364.2406 (0.31) 312 1 +test_benchmark_query24 1.8287 (2.46) 2.3992 (2.34) 1.9825 (2.34) 0.0662 (1.70) 1.9785 (2.34) 0.0714 (1.40) 78;8 504.4231 (0.43) 313 1 +test_benchmark_query25 1.3210 (1.78) 1.6379 (1.59) 1.4607 (1.73) 0.0466 (1.20) 1.4606 (1.73) 0.0582 (1.14) 186;8 684.5953 (0.58) 628 1 +test_benchmark_query26 2.8380 (3.82) 3.8140 (3.71) 3.0986 (3.66) 0.1412 (3.63) 3.0721 (3.64) 0.1485 (2.91) 67;10 322.7225 (0.27) 293 1 +test_benchmark_query27 22.3448 (30.05) 23.8053 (23.17) 23.0160 (27.20) 0.2981 (7.66) 23.0332 (27.27) 0.3432 (6.72) 10;2 43.4480 (0.04) 43 1 +test_benchmark_query28 2.6078 (3.51) 3.0987 (3.02) 2.7874 (3.29) 0.0866 (2.23) 2.7748 (3.29) 0.1139 (2.23) 77;7 358.7552 (0.30) 305 1 +test_benchmark_query29 2.4340 (3.27) 6.4821 (6.31) 2.6923 (3.18) 0.2189 (5.63) 2.6807 (3.17) 0.1056 (2.07) 10;12 371.4282 (0.31) 362 1 +test_benchmark_query3 3.1701 (4.26) 4.7527 (4.63) 3.3894 (4.01) 0.1563 (4.02) 3.3644 (3.98) 0.1318 (2.58) 30;11 295.0366 (0.25) 185 1 +test_benchmark_query30 30.4550 (40.96) 32.1223 (31.26) 31.2980 (36.99) 0.3605 (9.26) 31.3224 (37.08) 0.3275 (6.42) 10;3 31.9510 (0.03) 32 1 +test_benchmark_query4 2.9182 (3.92) 3.4547 (3.36) 3.1160 (3.68) 0.1073 (2.76) 3.1019 (3.67) 0.1349 (2.64) 62;4 320.9208 (0.27) 205 1 +test_benchmark_query5 1.8660 (2.51) 2.5484 (2.48) 2.1055 (2.49) 0.0893 (2.29) 2.1014 (2.49) 0.1063 (2.08) 66;8 474.9472 (0.40) 243 1 +test_benchmark_query6 0.7436 (1.0) 1.0275 (1.0) 0.8462 (1.0) 0.0389 (1.0) 0.8447 (1.0) 0.0510 (1.0) 321;15 1,181.7965 (1.0) 1091 1 +test_benchmark_query7 12.8149 (17.23) 14.5070 (14.12) 13.3133 (15.73) 0.3028 (7.78) 13.2999 (15.75) 0.3600 (7.05) 18;3 75.1126 (0.06) 67 1 +test_benchmark_query8 1.1346 (1.53) 1.5817 (1.54) 1.2828 (1.52) 0.0620 (1.59) 1.2793 (1.51) 0.0749 (1.47) 72;7 779.5587 (0.66) 263 1 +test_benchmark_query9 1.9952 (2.68) 2.4711 (2.40) 2.1742 (2.57) 0.0745 (1.91) 2.1683 (2.57) 0.0879 (1.72) 114;15 459.9466 (0.39) 416 1 +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/results/neo4j-2025.12.1.txt b/results/neo4j-2025.12.1.txt index 4d0534f..1da5a4d 100644 --- a/results/neo4j-2025.12.1.txt +++ b/results/neo4j-2025.12.1.txt @@ -1,33 +1,34 @@ --------------------------------------------------------------------------------------- benchmark: 29 tests -------------------------------------------------------------------------------------- -Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -test_benchmark_query1 4.5662 (4.07) 7.9165 (2.15) 5.7428 (3.78) 1.2804 (2.71) 5.3974 (3.84) 1.1992 (6.12) 1;0 174.1311 (0.26) 5 1 -test_benchmark_query10 4.3096 (3.85) 7.6700 (2.08) 4.9036 (3.23) 0.8107 (1.72) 4.5665 (3.25) 0.3377 (1.72) 3;3 203.9318 (0.31) 21 1 -test_benchmark_query11 11.3090 (10.09) 16.4480 (4.46) 12.9206 (8.51) 1.7023 (3.61) 12.1890 (8.68) 2.8055 (14.32) 2;0 77.3955 (0.12) 14 1 -test_benchmark_query12 3.4635 (3.09) 6.5704 (1.78) 4.6609 (3.07) 1.1609 (2.46) 4.4706 (3.18) 1.1712 (5.98) 2;0 214.5527 (0.33) 5 1 -test_benchmark_query13 7.6419 (6.82) 10.2188 (2.77) 8.7770 (5.78) 0.9356 (1.98) 8.5917 (6.12) 0.9677 (4.94) 2;0 113.9337 (0.17) 5 1 -test_benchmark_query14 1.1795 (1.05) 4.0575 (1.10) 1.5923 (1.05) 0.5706 (1.21) 1.4067 (1.00) 0.2915 (1.49) 4;4 628.0120 (0.95) 35 1 -test_benchmark_query15 2.7099 (2.42) 5.9078 (1.60) 3.2335 (2.13) 0.5319 (1.13) 3.1391 (2.23) 0.2711 (1.38) 2;2 309.2583 (0.47) 33 1 -test_benchmark_query16 1.4991 (1.34) 4.2685 (1.16) 1.9887 (1.31) 0.5715 (1.21) 1.8387 (1.31) 0.4499 (2.30) 3;2 502.8378 (0.76) 27 1 -test_benchmark_query17 3.6983 (3.30) 16.9161 (4.59) 5.2950 (3.49) 3.1083 (6.59) 4.1400 (2.95) 0.7694 (3.93) 2;3 188.8588 (0.29) 21 1 -test_benchmark_query18 3.6140 (3.23) 6.8964 (1.87) 4.0790 (2.69) 0.6890 (1.46) 3.9085 (2.78) 0.2310 (1.18) 2;3 245.1596 (0.37) 22 1 -test_benchmark_query19 5.3842 (4.80) 8.9943 (2.44) 6.1461 (4.05) 1.5929 (3.38) 5.4534 (3.88) 0.9807 (5.00) 1;1 162.7046 (0.25) 5 1 -test_benchmark_query2 5.5077 (4.92) 7.7213 (2.09) 6.4048 (4.22) 0.8509 (1.80) 6.0194 (4.28) 1.5655 (7.99) 4;0 156.1333 (0.24) 9 1 -test_benchmark_query20 400.9177 (357.78) 463.1863 (125.58) 421.8090 (277.94) 24.5619 (52.06) 412.9683 (293.94) 27.1205 (138.38) 1;0 2.3707 (0.00) 5 1 -test_benchmark_query21 1.2233 (1.09) 4.1606 (1.13) 1.5734 (1.04) 0.5670 (1.20) 1.4747 (1.05) 0.1960 (1.0) 1;2 635.5555 (0.96) 25 1 -test_benchmark_query22 3.2502 (2.90) 5.2348 (1.42) 3.6827 (2.43) 0.7463 (1.58) 3.3378 (2.38) 0.6475 (3.30) 1;1 271.5424 (0.41) 7 1 -test_benchmark_query23 3.2370 (2.89) 6.6556 (1.80) 4.0356 (2.66) 0.8064 (1.71) 3.9351 (2.80) 0.7647 (3.90) 4;2 247.7977 (0.38) 25 1 -test_benchmark_query24 1.1206 (1.0) 4.0367 (1.09) 1.5177 (1.0) 0.4718 (1.0) 1.4050 (1.0) 0.3551 (1.81) 1;1 658.9131 (1.0) 37 1 -test_benchmark_query25 2.6251 (2.34) 5.6793 (1.54) 3.0771 (2.03) 0.6817 (1.44) 2.8469 (2.03) 0.3698 (1.89) 3;3 324.9813 (0.49) 25 1 -test_benchmark_query26 1.2396 (1.11) 3.6884 (1.0) 1.7845 (1.18) 0.5056 (1.07) 1.7100 (1.22) 0.3985 (2.03) 5;2 560.3905 (0.85) 25 1 -test_benchmark_query27 2.6475 (2.36) 5.5377 (1.50) 3.3515 (2.21) 1.0913 (2.31) 2.8824 (2.05) 0.4261 (2.17) 1;1 298.3708 (0.45) 6 1 -test_benchmark_query28 3.0628 (2.73) 6.0044 (1.63) 4.3319 (2.85) 1.2427 (2.63) 3.6485 (2.60) 2.2453 (11.46) 3;0 230.8469 (0.35) 8 1 -test_benchmark_query29 2.5316 (2.26) 5.5024 (1.49) 3.0835 (2.03) 0.4901 (1.04) 2.9675 (2.11) 0.3126 (1.60) 6;3 324.3094 (0.49) 39 1 -test_benchmark_query3 1.9932 (1.78) 6.7290 (1.82) 2.7822 (1.83) 1.1888 (2.52) 2.4327 (1.73) 0.5806 (2.96) 1;1 359.4313 (0.55) 14 1 -test_benchmark_query4 4.1825 (3.73) 7.5235 (2.04) 4.8082 (3.17) 0.7715 (1.64) 4.5888 (3.27) 0.5105 (2.60) 2;2 207.9802 (0.32) 18 1 -test_benchmark_query5 4.5011 (4.02) 6.3177 (1.71) 5.0708 (3.34) 0.6389 (1.35) 4.8507 (3.45) 0.2684 (1.37) 1;1 197.2073 (0.30) 6 1 -test_benchmark_query6 3.3081 (2.95) 6.7625 (1.83) 4.1487 (2.73) 0.7289 (1.54) 3.9722 (2.83) 0.4310 (2.20) 4;3 241.0393 (0.37) 21 1 -test_benchmark_query7 1.6739 (1.49) 5.2899 (1.43) 2.1989 (1.45) 1.0538 (2.23) 1.7943 (1.28) 0.5013 (2.56) 1;1 454.7639 (0.69) 11 1 -test_benchmark_query8 13.4295 (11.98) 17.6011 (4.77) 15.5802 (10.27) 1.7500 (3.71) 15.4720 (11.01) 3.4450 (17.58) 5;0 64.1840 (0.10) 9 1 -test_benchmark_query9 1.9796 (1.77) 5.6878 (1.54) 2.6149 (1.72) 0.9271 (1.97) 2.2784 (1.62) 0.5254 (2.68) 2;2 382.4230 (0.58) 19 1 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- \ No newline at end of file +------------------------------------------------------------------------------------------ benchmark: 30 tests ------------------------------------------------------------------------------------------ +Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +test_benchmark_query1 3.8717 (3.18) 7.4454 (1.97) 4.8933 (2.98) 1.4850 (3.61) 4.2990 (2.72) 1.6227 (9.69) 1;0 204.3628 (0.34) 5 1 +test_benchmark_query10 4.1303 (3.39) 7.1820 (1.90) 4.9262 (3.00) 0.6567 (1.60) 4.8589 (3.08) 0.6227 (3.72) 3;1 202.9957 (0.33) 19 1 +test_benchmark_query11 12.9360 (10.62) 18.0553 (4.79) 14.9252 (9.08) 1.6719 (4.06) 14.4897 (9.18) 2.7231 (16.26) 5;0 67.0007 (0.11) 12 1 +test_benchmark_query12 5.6573 (4.64) 14.3229 (3.80) 8.0887 (4.92) 3.5239 (8.56) 6.7725 (4.29) 2.4496 (14.62) 1;1 123.6298 (0.20) 5 1 +test_benchmark_query13 8.3255 (6.83) 13.8492 (3.67) 9.8533 (6.00) 2.2754 (5.53) 8.8053 (5.58) 1.9628 (11.72) 1;1 101.4885 (0.17) 5 1 +test_benchmark_query14 1.2736 (1.05) 4.3214 (1.15) 1.6888 (1.03) 0.5472 (1.33) 1.6169 (1.02) 0.3128 (1.87) 2;2 592.1243 (0.97) 31 1 +test_benchmark_query15 2.8993 (2.38) 5.9215 (1.57) 3.3052 (2.01) 0.5641 (1.37) 3.2112 (2.04) 0.2019 (1.21) 2;3 302.5522 (0.50) 28 1 +test_benchmark_query16 1.8147 (1.49) 5.0642 (1.34) 2.4007 (1.46) 0.6697 (1.63) 2.2750 (1.44) 0.4678 (2.79) 2;2 416.5537 (0.68) 24 1 +test_benchmark_query17 3.3443 (2.75) 16.6362 (4.41) 4.9384 (3.01) 3.3127 (8.05) 3.7099 (2.35) 0.8293 (4.95) 2;3 202.4931 (0.33) 19 1 +test_benchmark_query18 3.2864 (2.70) 6.3495 (1.68) 3.6899 (2.25) 0.6538 (1.59) 3.5115 (2.23) 0.2724 (1.63) 2;2 271.0126 (0.45) 22 1 +test_benchmark_query19 5.6897 (4.67) 15.6924 (4.16) 7.7676 (4.73) 4.4306 (10.77) 5.8476 (3.71) 2.5726 (15.36) 1;1 128.7393 (0.21) 5 1 +test_benchmark_query2 4.6268 (3.80) 7.5288 (2.00) 5.9006 (3.59) 0.9334 (2.27) 5.8460 (3.71) 1.0465 (6.25) 3;0 169.4754 (0.28) 9 1 +test_benchmark_query20 433.0199 (355.47) 599.6303 (158.94) 475.7287 (289.49) 70.1786 (170.56) 451.5764 (286.20) 60.4575 (360.94) 1;1 2.1020 (0.00) 5 1 +test_benchmark_query21 1.2413 (1.02) 4.1425 (1.10) 1.8157 (1.10) 0.6634 (1.61) 1.6061 (1.02) 0.2651 (1.58) 2;3 550.7550 (0.91) 24 1 +test_benchmark_query22 3.0699 (2.52) 6.0628 (1.61) 3.6491 (2.22) 1.0811 (2.63) 3.1857 (2.02) 0.4395 (2.62) 1;1 274.0428 (0.45) 7 1 +test_benchmark_query23 3.1808 (2.61) 6.2377 (1.65) 3.9493 (2.40) 0.7700 (1.87) 3.6955 (2.34) 0.3280 (1.96) 5;5 253.2080 (0.42) 26 1 +test_benchmark_query24 1.2182 (1.0) 3.7727 (1.0) 1.6434 (1.0) 0.4115 (1.0) 1.5779 (1.0) 0.1933 (1.15) 5;3 608.5094 (1.0) 36 1 +test_benchmark_query25 2.4818 (2.04) 5.5808 (1.48) 3.0793 (1.87) 0.6214 (1.51) 3.0067 (1.91) 0.4830 (2.88) 2;2 324.7485 (0.53) 26 1 +test_benchmark_query26 1.4263 (1.17) 4.1306 (1.09) 1.8218 (1.11) 0.5590 (1.36) 1.6973 (1.08) 0.2476 (1.48) 2;2 548.9102 (0.90) 24 1 +test_benchmark_query27 2.4140 (1.98) 6.7904 (1.80) 3.5443 (2.16) 1.6484 (4.01) 3.0405 (1.93) 1.1359 (6.78) 1;1 282.1438 (0.46) 6 1 +test_benchmark_query28 2.6972 (2.21) 5.7863 (1.53) 3.9115 (2.38) 1.1912 (2.90) 3.2406 (2.05) 1.8656 (11.14) 3;0 255.6591 (0.42) 7 1 +test_benchmark_query29 2.6210 (2.15) 6.2340 (1.65) 2.9144 (1.77) 0.5743 (1.40) 2.8131 (1.78) 0.1810 (1.08) 1;2 343.1289 (0.56) 38 1 +test_benchmark_query3 2.2591 (1.85) 6.8616 (1.82) 2.9493 (1.79) 1.2008 (2.92) 2.5070 (1.59) 0.4899 (2.92) 1;1 339.0627 (0.56) 14 1 +test_benchmark_query30 1,213.2225 (995.94) 1,350.6868 (358.01) 1,255.1823 (763.79) 55.0428 (133.77) 1,234.8569 (782.62) 51.8661 (309.65) 1;0 0.7967 (0.00) 5 1 +test_benchmark_query4 3.5955 (2.95) 6.8703 (1.82) 4.1218 (2.51) 0.7246 (1.76) 3.8414 (2.43) 0.4304 (2.57) 1;1 242.6149 (0.40) 19 1 +test_benchmark_query5 4.1471 (3.40) 5.9247 (1.57) 4.8703 (2.96) 0.8128 (1.98) 4.4418 (2.82) 1.5192 (9.07) 2;0 205.3253 (0.34) 6 1 +test_benchmark_query6 2.9778 (2.44) 6.0410 (1.60) 3.8818 (2.36) 0.6363 (1.55) 3.6772 (2.33) 0.4742 (2.83) 4;2 257.6104 (0.42) 22 1 +test_benchmark_query7 1.6695 (1.37) 5.1811 (1.37) 2.2006 (1.34) 0.9576 (2.33) 1.9172 (1.22) 0.2810 (1.68) 1;1 454.4178 (0.75) 12 1 +test_benchmark_query8 11.7353 (9.63) 18.6258 (4.94) 14.5516 (8.85) 2.4514 (5.96) 14.0285 (8.89) 4.5380 (27.09) 3;0 68.7208 (0.11) 9 1 +test_benchmark_query9 2.0752 (1.70) 6.4517 (1.71) 2.8203 (1.72) 1.0421 (2.53) 2.4998 (1.58) 0.1675 (1.0) 2;4 354.5747 (0.58) 18 1 +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/uv.lock b/uv.lock index 104deb6..e8391fa 100644 --- a/uv.lock +++ b/uv.lock @@ -859,7 +859,7 @@ requires-dist = [ { name = "dspy", specifier = ">=3.1.2" }, { name = "faker", specifier = ">=40.1.2" }, { name = "kuzu", specifier = ">=0.11.3" }, - { name = "lance-graph", specifier = ">=0.5.1" }, + { name = "lance-graph", specifier = ">=0.5.2" }, { name = "matplotlib", specifier = ">=3.10.8" }, { name = "neo4j", specifier = ">=6.1.0" }, { name = "polars", specifier = ">=1.37.1" }, @@ -1257,7 +1257,7 @@ wheels = [ [[package]] name = "lance-graph" -version = "0.5.1" +version = "0.5.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "fastapi" }, @@ -1270,9 +1270,9 @@ dependencies = [ { name = "pyyaml" }, { name = "uvicorn" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/57/17/07d3f84309e76c1ae69cda0650e3e53c65852d62e5d90b41c46fc117d59e/lance_graph-0.5.1.tar.gz", hash = "sha256:79e429da05911dfea29452fa484d14a1a0e9e3837890aa79f6aea7164ceec8ed", size = 499692, upload-time = "2026-02-04T01:34:24.006Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/7f/ce4d9ff92b403489010a46c5d32dc870783f04760665dfbc81148a90924f/lance_graph-0.5.2.tar.gz", hash = "sha256:ee6d6a78bbc8465d90ddd4c413db4a0381938479d96faf585fed1870ebd359dd", size = 502101, upload-time = "2026-02-08T21:48:19.947Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/dc/a1/c4d887c9d0dd8aed0e181434fcb2a07d6361dbeac069aa58ffef2610137a/lance_graph-0.5.1-cp39-abi3-manylinux_2_39_x86_64.whl", hash = "sha256:71c803e055240b45067e453cb1dfbdf8805720921f3b676b38d429ed5516c4fa", size = 44756576, upload-time = "2026-02-04T01:34:21.831Z" }, + { url = "https://files.pythonhosted.org/packages/bc/5f/108ba81f22eaf10405aad8f594cef2068c2cf4a3a781209a2855379d81a2/lance_graph-0.5.2-cp39-abi3-manylinux_2_39_x86_64.whl", hash = "sha256:ea161782143a3f00ec3c92c945a31d1ffda690b9ba45ef26fe7e63a0aea037fd", size = 44755366, upload-time = "2026-02-08T21:48:24.353Z" }, ] [[package]]