Skip to content

Conversation

@westonpace
Copy link
Member

This should improve the performance of take operations.

Closes #5069

@chatgpt-codex-connector
Copy link

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

Copy link
Collaborator

@Xuanwo Xuanwo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM overall, do we have a perf number?

@codecov
Copy link

codecov bot commented Dec 18, 2025

Codecov Report

❌ Patch coverage is 98.10427% with 4 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
rust/lance-datafusion/src/projection.rs 98.10% 3 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

@westonpace westonpace force-pushed the perf/simple-projection branch from 114580a to ec69ed2 Compare December 18, 2025 19:53
@westonpace
Copy link
Member Author

westonpace commented Dec 19, 2025

Benchmark Results for PR #5532

Commit: ec69ed2
Baseline: Up to 20 most recent historical results per benchmark

Summary

  • Total benchmarks: 221
  • 🚀 Improvements: 1
  • ⚠️ Regressions: 1
  • Stable: 219
  • Insufficient data: 0

Flagged Benchmarks (|z-score| > 2.0)

Benchmark PR Result Baseline Mean Baseline Std Dev Z-Score Status
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[high-string-BTREE-5M] 2.14 s 1.95 s 80.76 ms +2.38 ⚠️ Likely Regressed
python/ci_benchmarks/benchmarks/test_random_access.py::test_simple_random_access[1-mem-tpch] 201.14 µs 321.25 µs 53.32 µs -2.25 🚀 Likely Improved

All Results

View all 221 benchmark results
Benchmark PR Result Baseline Mean Baseline N Z-Score Status
Cosine(f32, auto-vectorized) 105.09 ms 153.39 ms 20 -1.14
Cosine(f32, scalar) 657.82 ms 820.47 ms 20 -0.93
Cosine(f64, auto-vectorized) 270.64 ms 404.36 ms 20 -1.19
Cosine(f64, scalar) 649.42 ms 836.72 ms 20 -1.01
Cosine(half::bfloat::bf16, auto-vectorized) 250.48 ms 362.38 ms 20 -1.02
Cosine(half::bfloat::bf16, scalar) 6.83 s 9.15 s 20 -1.05
Cosine(half::binary16::f16, auto-vectorized) 123.03 ms 154.34 ms 20 -0.93
Cosine(half::binary16::f16, scalar) 5.86 s 7.79 s 20 -1.02
Cosine(simd,f32x8) rng seed 2.76 ms 3.73 ms 20 -0.98
Dot(bf16, auto-vectorization) 377.51 ms 546.63 ms 20 -1.03
Dot(f16, SIMD) 69.32 ms 91.43 ms 20 -1.00
Dot(f32, SIMD) 97.27 ms 144.37 ms 20 -1.24
Dot(f32, arrow_artiy) 607.49 ms 792.48 ms 20 -1.09
Dot(f32, auto-vectorization) 98.15 ms 150.78 ms 20 -1.41
Dot(f64, arrow_artiy) 617.78 ms 797.02 ms 20 -1.01
Dot(f64, auto-vectorization) 196.13 ms 287.17 ms 20 -1.13
Dot(half::binary16::f16, arrow_artiy) 688.39 ms 870.45 ms 20 -1.15
Dot(half::binary16::f16, auto-vectorization) 63.77 ms 92.24 ms 20 -1.39
L2(f32, auto-vectorization) 101.90 ms 149.21 ms 20 -1.09
L2(f32, scalar) 620.67 ms 804.28 ms 20 -1.07
L2(f32, simd) 100.08 ms 146.38 ms 20 -1.10
L2(f64, auto-vectorization) 196.12 ms 297.23 ms 20 -1.24
L2(f64, scalar) 658.99 ms 815.34 ms 20 -0.88
L2(half::binary16::f16, auto-vectorization) 68.96 ms 94.50 ms 20 -1.23
L2(half::binary16::f16, scalar) 2.81 s 3.56 s 20 -0.87
L2(simd,f32x8) 4.60 ms 5.62 ms 20 -0.84
L2(uint8, auto-vectorization) 52.24 ms 66.65 ms 20 -1.14
L2(uint8, scalar) 49.34 ms 61.07 ms 20 -1.19
NormL2(f32, SIMD) 94.09 ms 142.88 ms 20 -1.19
NormL2(f32, auto-vectorization) 98.02 ms 142.08 ms 20 -1.10
NormL2(f32, scalar) 609.11 ms 787.33 ms 20 -1.02
NormL2(f64, auto-vectorization) 177.01 ms 296.55 ms 20 -1.27
NormL2(f64, scalar) 627.33 ms 807.86 ms 20 -0.98
NormL2(half::bfloat::bf16, auto-vectorization) 240.86 ms 339.64 ms 20 -1.00
NormL2(half::bfloat::bf16, scalar) 2.60 s 3.32 s 20 -1.04
NormL2(half::binary16::f16, SIMD) 61.13 ms 84.97 ms 20 -1.03
NormL2(half::binary16::f16, auto-vectorization) 58.35 ms 84.56 ms 20 -1.12
NormL2(half::binary16::f16, scalar) 638.19 ms 810.05 ms 20 -0.96
argmin(arrow) 4.77 ms 4.64 ms 20 +0.65
decode_fsl/float32_128_v2.0_nullfalse 30.13 ms 48.35 ms 20 -0.94
decode_fsl/float32_128_v2.1_nullfalse 11.44 ms 15.65 ms 20 -1.68
decode_fsl/float32_128_v2.1_nulltrue 22.64 ms 32.22 ms 20 -1.53
decode_fsl/float32_16_v2.0_nullfalse 31.36 ms 48.20 ms 20 -0.86
decode_fsl/float32_16_v2.1_nullfalse 18.71 ms 24.29 ms 20 -0.95
decode_fsl/float32_16_v2.1_nulltrue 29.08 ms 37.70 ms 20 -0.94
decode_fsl/float32_32_v2.0_nullfalse 31.10 ms 48.07 ms 20 -0.86
decode_fsl/float32_32_v2.1_nullfalse 18.53 ms 24.28 ms 20 -0.99
decode_fsl/float32_32_v2.1_nulltrue 27.36 ms 34.03 ms 20 -0.82
decode_fsl/float32_4_v2.0_nullfalse 29.73 ms 48.43 ms 20 -0.96
decode_fsl/float32_4_v2.1_nullfalse 24.88 ms 25.27 ms 20 -0.07
decode_fsl/float32_4_v2.1_nulltrue 49.74 ms 63.80 ms 20 -0.94
decode_fsl/float32_64_v2.0_nullfalse 30.37 ms 48.08 ms 20 -0.92
decode_fsl/float32_64_v2.1_nullfalse 11.49 ms 16.29 ms 20 -1.28
decode_fsl/float32_64_v2.1_nulltrue 26.58 ms 33.65 ms 20 -1.12
decode_fsl/int8_128_v2.0_nullfalse 30.16 ms 48.36 ms 20 -0.93
decode_fsl/int8_128_v2.1_nullfalse 17.77 ms 25.29 ms 20 -1.42
decode_fsl/int8_128_v2.1_nulltrue 25.32 ms 33.89 ms 20 -1.05
decode_fsl/int8_16_v2.0_nullfalse 29.61 ms 48.20 ms 20 -0.96
decode_fsl/int8_16_v2.1_nullfalse 18.52 ms 25.00 ms 20 -1.19
decode_fsl/int8_16_v2.1_nulltrue 50.89 ms 63.93 ms 20 -0.91
decode_fsl/int8_32_v2.0_nullfalse 30.09 ms 48.15 ms 20 -0.93
decode_fsl/int8_32_v2.1_nullfalse 20.22 ms 24.92 ms 20 -0.87
decode_fsl/int8_32_v2.1_nulltrue 36.57 ms 47.09 ms 20 -0.95
decode_fsl/int8_4_v2.0_nullfalse 29.37 ms 48.17 ms 20 -0.97
decode_fsl/int8_4_v2.1_nullfalse 20.60 ms 26.52 ms 20 -1.03
decode_fsl/int8_4_v2.1_nulltrue 139.08 ms 174.89 ms 20 -0.90
decode_fsl/int8_64_v2.0_nullfalse 30.12 ms 48.54 ms 20 -0.94
decode_fsl/int8_64_v2.1_nullfalse 24.56 ms 24.32 ms 20 +0.04
decode_fsl/int8_64_v2.1_nulltrue 36.04 ms 37.85 ms 20 -0.20
decode_primitive/date32 14.05 ms 15.89 ms 20 -0.65
decode_primitive/date64 13.09 ms 15.97 ms 20 -1.00
decode_primitive/decimal128(10, 10) 13.73 ms 16.43 ms 20 -1.01
decode_primitive/decimal256(10, 10) 29.28 ms 34.60 ms 20 -1.13
decode_primitive/duration(second) 12.24 ms 16.97 ms 20 -1.13
decode_primitive/fixed-utf8 83.66 µs 95.95 µs 20 -0.49
decode_primitive/float16 13.96 ms 16.00 ms 20 -0.76
decode_primitive/float32 12.96 ms 16.34 ms 20 -1.13
decode_primitive/float64 13.23 ms 16.49 ms 20 -0.91
decode_primitive/int16 14.26 ms 15.82 ms 20 -0.53
decode_primitive/int32 11.57 ms 15.91 ms 20 -1.48
decode_primitive/int64 13.45 ms 16.24 ms 20 -0.90
decode_primitive/int8 12.77 ms 15.99 ms 20 -1.11
decode_primitive/struct 139.56 µs 186.10 µs 20 -1.29
decode_primitive/time32(second) 11.59 ms 16.39 ms 20 -1.83
decode_primitive/time64(nanosecond) 11.91 ms 16.37 ms 20 -1.63
decode_primitive/timestamp(nanosecond, none) 14.40 ms 16.25 ms 20 -0.62
decode_primitive/uint16 11.80 ms 16.22 ms 20 -1.17
decode_primitive/uint32 13.46 ms 16.31 ms 20 -0.94
decode_primitive/uint64 11.56 ms 16.30 ms 20 -1.33
decode_primitive/uint8 13.52 ms 15.65 ms 20 -0.71
decode_primitive/utf8 760.94 µs 954.59 µs 20 -0.93
from_elem/full_read,parallel=1,read_size=1048576 38.81 ms 165.77 ms 20 -0.86
from_elem/full_read,parallel=1,read_size=16384 247.04 ms 326.30 ms 20 -0.81
from_elem/full_read,parallel=1,read_size=4096 807.49 ms 1.15 s 20 -0.91
from_elem/full_read,parallel=16,read_size=1048576 38.54 ms 165.92 ms 20 -0.86
from_elem/full_read,parallel=16,read_size=16384 239.82 ms 318.14 ms 20 -0.89
from_elem/full_read,parallel=16,read_size=4096 797.62 ms 1.14 s 20 -0.94
from_elem/full_read,parallel=32,read_size=1048576 36.12 ms 165.97 ms 20 -0.88
from_elem/full_read,parallel=32,read_size=16384 243.49 ms 318.46 ms 20 -0.89
from_elem/full_read,parallel=32,read_size=4096 765.32 ms 1.14 s 20 -1.01
from_elem/full_read,parallel=64,read_size=1048576 34.36 ms 166.02 ms 20 -0.89
from_elem/full_read,parallel=64,read_size=16384 254.78 ms 317.58 ms 20 -0.73
from_elem/full_read,parallel=64,read_size=4096 833.05 ms 1.15 s 20 -0.87
from_elem/random_read,parallel=1,item_size=1024 3.37 ms 4.16 ms 20 -0.98
from_elem/random_read,parallel=1,item_size=4096 4.79 ms 6.95 ms 20 -0.79
from_elem/random_read,parallel=1,item_size=8 1.64 ms 1.85 ms 20 -0.71
from_elem/random_read,parallel=16,item_size=1024 3.36 ms 4.11 ms 20 -0.97
from_elem/random_read,parallel=16,item_size=4096 4.59 ms 6.94 ms 20 -0.84
from_elem/random_read,parallel=16,item_size=8 1.69 ms 1.84 ms 20 -0.52
from_elem/random_read,parallel=32,item_size=1024 3.50 ms 4.10 ms 20 -0.76
from_elem/random_read,parallel=32,item_size=4096 4.37 ms 6.93 ms 20 -0.91
from_elem/random_read,parallel=32,item_size=8 1.69 ms 1.85 ms 20 -0.54
from_elem/random_read,parallel=64,item_size=1024 3.38 ms 4.10 ms 20 -0.93
from_elem/random_read,parallel=64,item_size=4096 4.42 ms 6.91 ms 20 -0.88
from_elem/random_read,parallel=64,item_size=8 1.66 ms 1.84 ms 20 -0.58
hamming,auto_vec 70.96 ms 96.16 ms 20 -1.05
hamming,scalar 117.86 ms 160.09 ms 20 -0.89
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[high-float-BITMAP-10M] 13.52 s 14.90 s 7 -0.88
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[high-float-BITMAP-1M] 1.08 s 1.20 s 7 -1.46
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[high-float-BITMAP-5M] 6.24 s 7.02 s 7 -1.30
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[high-float-BTREE-10M] 1.41 s 1.44 s 7 -0.20
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[high-float-BTREE-1M] 116.30 ms 126.97 ms 7 -0.72
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[high-float-BTREE-5M] 662.20 ms 701.94 ms 7 -1.15
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[high-string-BITMAP-10M] 20.06 s 23.26 s 7 -0.78
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[high-string-BITMAP-1M] 1.76 s 1.83 s 7 -0.43
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[high-string-BITMAP-5M] 9.21 s 10.30 s 7 -0.80
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[high-string-BTREE-10M] 3.99 s 3.93 s 7 +0.28
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[high-string-BTREE-1M] 347.21 ms 349.37 ms 7 -0.17
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[high-string-BTREE-5M] 2.14 s 1.95 s 7 +2.38 ⚠️
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[low-float-BITMAP-10M] 735.28 ms 753.56 ms 7 -0.69
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[low-float-BITMAP-1M] 80.81 ms 83.77 ms 7 -0.97
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[low-float-BITMAP-5M] 371.55 ms 377.46 ms 7 -0.36
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[low-float-BTREE-10M] 887.64 ms 905.03 ms 7 -0.76
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[low-float-BTREE-1M] 63.06 ms 64.76 ms 7 -0.48
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[low-float-BTREE-5M] 457.06 ms 439.16 ms 7 +0.89
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[low-string-BITMAP-10M] 2.50 s 2.53 s 7 -0.37
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[low-string-BITMAP-1M] 329.20 ms 333.28 ms 7 -0.40
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[low-string-BITMAP-5M] 1.25 s 1.27 s 7 -0.47
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[low-string-BTREE-10M] 3.96 s 3.97 s 7 -0.05
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[low-string-BTREE-1M] 446.68 ms 454.47 ms 7 -0.60
python/ci_benchmarks/benchmarks/test_index_training.py::test_index_training[low-string-BTREE-5M] 1.97 s 1.91 s 7 +0.85
python/ci_benchmarks/benchmarks/test_random_access.py::test_parallel_random_access[1-mem-tpch-2.1] 10.99 ms 14.07 ms 7 -1.35
python/ci_benchmarks/benchmarks/test_random_access.py::test_parallel_random_access[1-mem-tpch] 10.81 ms 12.90 ms 7 -1.11
python/ci_benchmarks/benchmarks/test_random_access.py::test_parallel_random_access[1-tpch-2.1] 13.16 ms 16.60 ms 7 -1.23
python/ci_benchmarks/benchmarks/test_random_access.py::test_parallel_random_access[1-tpch] 13.22 ms 16.42 ms 7 -1.12
python/ci_benchmarks/benchmarks/test_random_access.py::test_parallel_random_access[10-mem-tpch-2.1] 28.01 ms 33.87 ms 7 -0.99
python/ci_benchmarks/benchmarks/test_random_access.py::test_parallel_random_access[10-mem-tpch] 24.60 ms 29.95 ms 7 -0.85
python/ci_benchmarks/benchmarks/test_random_access.py::test_parallel_random_access[10-tpch-2.1] 68.21 ms 83.61 ms 7 -0.98
python/ci_benchmarks/benchmarks/test_random_access.py::test_parallel_random_access[10-tpch] 73.79 ms 90.56 ms 7 -0.80
python/ci_benchmarks/benchmarks/test_random_access.py::test_parallel_random_access[100-mem-tpch-2.1] 97.85 ms 124.65 ms 7 -1.08
python/ci_benchmarks/benchmarks/test_random_access.py::test_parallel_random_access[100-mem-tpch] 81.76 ms 103.88 ms 7 -0.74
python/ci_benchmarks/benchmarks/test_random_access.py::test_parallel_random_access[100-tpch-2.1] 507.44 ms 647.42 ms 7 -0.98
python/ci_benchmarks/benchmarks/test_random_access.py::test_parallel_random_access[100-tpch] 513.12 ms 635.92 ms 7 -0.70
python/ci_benchmarks/benchmarks/test_random_access.py::test_simple_random_access[1-mem-tpch-2.1] 359.46 µs 399.50 µs 7 -0.81
python/ci_benchmarks/benchmarks/test_random_access.py::test_simple_random_access[1-mem-tpch] 201.14 µs 321.25 µs 7 -2.25 🚀
python/ci_benchmarks/benchmarks/test_random_access.py::test_simple_random_access[1-tpch-2.1] 1.04 ms 1.15 ms 7 -1.23
python/ci_benchmarks/benchmarks/test_random_access.py::test_simple_random_access[1-tpch] 385.23 µs 465.90 µs 7 -1.12
python/ci_benchmarks/benchmarks/test_random_access.py::test_simple_random_access[10-mem-tpch-2.1] 595.42 µs 754.47 µs 7 -1.00
python/ci_benchmarks/benchmarks/test_random_access.py::test_simple_random_access[10-mem-tpch] 462.54 µs 593.08 µs 7 -1.03
python/ci_benchmarks/benchmarks/test_random_access.py::test_simple_random_access[10-tpch-2.1] 1.78 ms 1.99 ms 7 -0.70
python/ci_benchmarks/benchmarks/test_random_access.py::test_simple_random_access[10-tpch] 1.20 ms 1.46 ms 7 -0.77
python/ci_benchmarks/benchmarks/test_random_access.py::test_simple_random_access[100-mem-tpch-2.1] 1.69 ms 2.10 ms 7 -0.91
python/ci_benchmarks/benchmarks/test_random_access.py::test_simple_random_access[100-mem-tpch] 1.07 ms 1.33 ms 7 -0.81
python/ci_benchmarks/benchmarks/test_random_access.py::test_simple_random_access[100-tpch-2.1] 6.86 ms 8.36 ms 7 -0.71
python/ci_benchmarks/benchmarks/test_random_access.py::test_simple_random_access[100-tpch] 6.41 ms 7.76 ms 7 -0.66
python/ci_benchmarks/benchmarks/test_scan.py::test_full_scan[tpch] 2.51 s 2.91 s 7 -0.65
python/ci_benchmarks/benchmarks/test_scan.py::test_scan_slice[tpch] 1.57 ms 2.90 ms 7 -1.13
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[cache-None-equal] 657.11 µs 705.65 µs 7 -0.57
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[cache-None-none] 10.78 ms 13.01 ms 7 -1.36
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[cache-None-not_equal] 54.95 ms 59.00 ms 7 -1.00
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[cache-integers-equal] 790.35 µs 844.52 µs 7 -0.67
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[cache-integers-none] 17.82 ms 20.49 ms 7 -0.98
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[cache-integers-not_equal] 62.47 ms 68.85 ms 7 -1.02
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[cache-small_strings-equal] 849.07 µs 859.66 µs 7 -0.16
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[cache-small_strings-none] 44.63 ms 48.22 ms 7 -0.31
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[cache-small_strings-not_equal] 83.07 ms 90.60 ms 7 -0.98
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[no_cache-None-equal] 5.62 s 6.80 s 7 -0.94
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[no_cache-None-none] 12.22 ms 14.88 ms 7 -0.64
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[no_cache-None-not_equal] 5.49 s 7.04 s 7 -0.91
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[no_cache-integers-equal] 5.57 s 6.97 s 7 -1.11
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[no_cache-integers-none] 30.05 ms 31.17 ms 7 -0.42
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[no_cache-integers-not_equal] 5.66 s 6.92 s 7 -1.07
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[no_cache-small_strings-equal] 5.42 s 7.18 s 7 -1.00
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[no_cache-small_strings-none] 57.29 ms 63.11 ms 7 -0.53
python/ci_benchmarks/benchmarks/test_search.py::test_basic_bitmap_search[no_cache-small_strings-not_equal] 5.65 s 6.96 s 7 -0.94
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[cache-None-equal] 631.11 µs 674.64 µs 7 -1.51
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[cache-None-large_in] 837.56 µs 861.18 µs 7 -0.50
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[cache-None-none] 11.16 ms 13.59 ms 7 -0.98
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[cache-None-not_equal] 55.19 ms 60.67 ms 7 -1.22
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[cache-None-small_range] 652.35 µs 860.41 µs 7 -0.61
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[cache-integers-equal] 752.91 µs 821.60 µs 7 -0.76
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[cache-integers-large_in] 937.56 µs 993.29 µs 7 -1.75
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[cache-integers-none] 17.19 ms 21.10 ms 7 -1.30
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[cache-integers-not_equal] 61.61 ms 67.80 ms 7 -1.28
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[cache-integers-small_range] 742.29 µs 788.86 µs 7 -1.73
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[cache-small_strings-equal] 791.88 µs 853.37 µs 7 -0.66
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[cache-small_strings-large_in] 975.04 µs 1.10 ms 7 -1.01
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[cache-small_strings-none] 40.57 ms 50.11 ms 7 -0.60
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[cache-small_strings-not_equal] 84.23 ms 95.01 ms 7 -0.81
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[cache-small_strings-small_range] 817.61 µs 859.92 µs 7 -0.44
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[no_cache-None-equal] 2.79 ms 2.94 ms 7 -0.29
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[no_cache-None-large_in] 2.97 ms 2.95 ms 7 +0.04
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[no_cache-None-none] 11.22 ms 14.12 ms 7 -1.20
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[no_cache-None-not_equal] 58.13 ms 62.82 ms 7 -0.90
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[no_cache-None-small_range] 2.84 ms 2.84 ms 7 -0.00
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[no_cache-integers-equal] 3.26 ms 3.50 ms 7 -0.35
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[no_cache-integers-large_in] 3.39 ms 3.52 ms 7 -0.22
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[no_cache-integers-none] 30.38 ms 31.18 ms 7 -0.17
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[no_cache-integers-not_equal] 75.94 ms 78.83 ms 7 -0.48
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[no_cache-integers-small_range] 3.30 ms 3.39 ms 7 -0.16
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[no_cache-small_strings-equal] 3.50 ms 3.79 ms 7 -0.34
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[no_cache-small_strings-large_in] 3.57 ms 3.83 ms 7 -0.32
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[no_cache-small_strings-none] 56.96 ms 66.08 ms 7 -0.58
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[no_cache-small_strings-not_equal] 102.94 ms 114.95 ms 7 -0.69
python/ci_benchmarks/benchmarks/test_search.py::test_basic_btree_search[no_cache-small_strings-small_range] 3.48 ms 3.74 ms 7 -0.33
zip_1024Ki/2_2_2_zip_into_6 5.45 ms 7.98 ms 20 -1.18
zip_1024Ki/2_4_zip_into_6 4.63 ms 5.65 ms 20 -0.83
zip_32Ki/2_2_2_zip_into_6 186.78 µs 254.99 µs 20 -0.96
zip_32Ki/2_4_zip_into_6 145.80 µs 178.00 µs 20 -0.89
zip_8Ki/2_2_2_zip_into_6 44.07 µs 67.75 µs 20 -1.34
zip_8Ki/2_4_zip_into_6 36.72 µs 45.52 µs 20 -0.87

Generated by bench-bot 🤖

@westonpace
Copy link
Member Author

I was using this PR to test out bench-bot but those results aren't the really interesting ones. The random take benchmark in the lance repo is the main one I've been using and it hasn't been added to the regression set yet. Let me get some runs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The ProjectionPlan::project_batch function is inefficient and noisy

2 participants