Skip to content

Commit a6e83c8

Browse files
committed
some more changes
Signed-off-by: Connor Tsui <[email protected]>
1 parent d97dfbd commit a6e83c8

3 files changed

Lines changed: 21 additions & 32 deletions

File tree

‎vortex-btrblocks/benches/compress.rs‎

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,12 @@ mod benchmarks {
5353
.unwrap();
5454
let compressor = BtrBlocksCompressor::default();
5555
bencher
56-
.with_inputs(|| &array)
57-
.input_counter(|array| ItemsCount::new(array.len()))
58-
.input_counter(|array| BytesCount::of_many::<i32>(array.len()))
59-
.bench_refs(|array| {
56+
.with_inputs(|| (&array, SESSION.create_execution_ctx()))
57+
.input_counter(|(array, _)| ItemsCount::new(array.len()))
58+
.input_counter(|(array, _)| BytesCount::of_many::<i32>(array.len()))
59+
.bench_refs(|(array, ctx)| {
6060
compressor
61-
.compress(
62-
&array.clone().into_array(),
63-
&mut SESSION.create_execution_ctx(),
64-
)
61+
.compress(&array.clone().into_array(), ctx)
6562
.unwrap()
6663
});
6764
}

‎vortex-btrblocks/benches/compress_listview.rs‎

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -185,14 +185,10 @@ mod benchmarks {
185185
let nbytes = array.nbytes();
186186
let compressor = BtrBlocksCompressor::default();
187187
bencher
188-
.with_inputs(|| &array)
188+
.with_inputs(|| (&array, SESSION.create_execution_ctx()))
189189
.input_counter(|_| ItemsCount::new(NUM_ROWS))
190190
.input_counter(move |_| BytesCount::new(nbytes as usize))
191-
.bench_refs(|array| {
192-
compressor
193-
.compress(array, &mut SESSION.create_execution_ctx())
194-
.unwrap()
195-
});
191+
.bench_refs(|(array, ctx)| compressor.compress(array, ctx).unwrap());
196192
}
197193
}
198194

‎vortex/examples/compression_showcase.rs‎

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,35 +28,37 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
2828
println!("This example demonstrates how Vortex automatically selects");
2929
println!("optimal compression strategies for different data patterns.\n");
3030

31+
let session = VortexSession::default();
32+
3133
// 1. Compress sequential/monotonic data
3234
println!("1. Sequential Data Compression:");
33-
compress_sequential_data()?;
35+
compress_sequential_data(&session)?;
3436

3537
// 2. Compress repetitive data
3638
println!("\n2. Repetitive Data Compression:");
37-
compress_repetitive_data()?;
39+
compress_repetitive_data(&session)?;
3840

3941
// 3. Compress string data
4042
println!("\n3. String Data Compression:");
41-
compress_string_data()?;
43+
compress_string_data(&session)?;
4244

4345
// 4. Compress floating-point data
4446
println!("\n4. Floating-Point Data Compression:");
45-
compress_float_data()?;
47+
compress_float_data(&session)?;
4648

4749
// 5. Compress sparse data
4850
println!("\n5. Sparse Data Compression:");
49-
compress_sparse_data()?;
51+
compress_sparse_data(&session)?;
5052

5153
// 6. Compress structured data
5254
println!("\n6. Structured Data Compression:");
53-
compress_structured_data()?;
55+
compress_structured_data(&session)?;
5456

5557
println!("\n=== Compression showcase completed! ===");
5658
Ok(())
5759
}
5860

59-
fn compress_sequential_data() -> Result<(), Box<dyn std::error::Error>> {
61+
fn compress_sequential_data(session: &VortexSession) -> Result<(), Box<dyn std::error::Error>> {
6062
// Create sequential data (e.g., timestamps, IDs)
6163
let sequential: PrimitiveArray = (1000..11000).map(|i| i as u64).collect();
6264

@@ -66,7 +68,6 @@ fn compress_sequential_data() -> Result<(), Box<dyn std::error::Error>> {
6668

6769
// Compress using default strategy
6870
let compressor = BtrBlocksCompressor::default();
69-
let session = VortexSession::default();
7071
let compressed = compressor.compress(
7172
&sequential.into_array(),
7273
&mut session.create_execution_ctx(),
@@ -83,7 +84,7 @@ fn compress_sequential_data() -> Result<(), Box<dyn std::error::Error>> {
8384
Ok(())
8485
}
8586

86-
fn compress_repetitive_data() -> Result<(), Box<dyn std::error::Error>> {
87+
fn compress_repetitive_data(session: &VortexSession) -> Result<(), Box<dyn std::error::Error>> {
8788
// Create highly repetitive data (run-length encoding opportunity)
8889
let mut repetitive = Vec::new();
8990
for i in 0..100 {
@@ -98,7 +99,6 @@ fn compress_repetitive_data() -> Result<(), Box<dyn std::error::Error>> {
9899
println!(" Uncompressed size: ~{} bytes", uncompressed_size);
99100

100101
let compressor = BtrBlocksCompressor::default();
101-
let session = VortexSession::default();
102102
let compressed =
103103
compressor.compress(&array.into_array(), &mut session.create_execution_ctx())?;
104104

@@ -113,7 +113,7 @@ fn compress_repetitive_data() -> Result<(), Box<dyn std::error::Error>> {
113113
Ok(())
114114
}
115115

116-
fn compress_string_data() -> Result<(), Box<dyn std::error::Error>> {
116+
fn compress_string_data(session: &VortexSession) -> Result<(), Box<dyn std::error::Error>> {
117117
// Create string data with patterns
118118
let categories = vec!["Electronics", "Clothing", "Food", "Books"];
119119
let mut strings = Vec::new();
@@ -132,7 +132,6 @@ fn compress_string_data() -> Result<(), Box<dyn std::error::Error>> {
132132
println!(" Uncompressed size: ~{} bytes", uncompressed_size);
133133

134134
let compressor = BtrBlocksCompressor::default();
135-
let session = VortexSession::default();
136135
let compressed =
137136
compressor.compress(&array.into_array(), &mut session.create_execution_ctx())?;
138137

@@ -147,7 +146,7 @@ fn compress_string_data() -> Result<(), Box<dyn std::error::Error>> {
147146
Ok(())
148147
}
149148

150-
fn compress_float_data() -> Result<(), Box<dyn std::error::Error>> {
149+
fn compress_float_data(session: &VortexSession) -> Result<(), Box<dyn std::error::Error>> {
151150
// Create floating-point data with patterns
152151
let floats: Buffer<f64> = (0..10000).map(|i| (i as f64) * 0.1 + 100.0).collect();
153152
let array = floats.into_array();
@@ -157,7 +156,6 @@ fn compress_float_data() -> Result<(), Box<dyn std::error::Error>> {
157156
println!(" Uncompressed size: ~{} bytes", uncompressed_size);
158157

159158
let compressor = BtrBlocksCompressor::default();
160-
let session = VortexSession::default();
161159
let compressed = compressor.compress(&array, &mut session.create_execution_ctx())?;
162160

163161
let compressed_size = compressed.nbytes();
@@ -171,7 +169,7 @@ fn compress_float_data() -> Result<(), Box<dyn std::error::Error>> {
171169
Ok(())
172170
}
173171

174-
fn compress_sparse_data() -> Result<(), Box<dyn std::error::Error>> {
172+
fn compress_sparse_data(session: &VortexSession) -> Result<(), Box<dyn std::error::Error>> {
175173
// Create sparse data (mostly zeros with few non-zero values)
176174
let mut sparse = vec![0i64; 10000];
177175
for i in (0..10000).step_by(100) {
@@ -184,7 +182,6 @@ fn compress_sparse_data() -> Result<(), Box<dyn std::error::Error>> {
184182
println!(" Uncompressed size: ~{} bytes", uncompressed_size);
185183

186184
let compressor = BtrBlocksCompressor::default();
187-
let session = VortexSession::default();
188185
let compressed =
189186
compressor.compress(&array.into_array(), &mut session.create_execution_ctx())?;
190187

@@ -199,7 +196,7 @@ fn compress_sparse_data() -> Result<(), Box<dyn std::error::Error>> {
199196
Ok(())
200197
}
201198

202-
fn compress_structured_data() -> Result<(), Box<dyn std::error::Error>> {
199+
fn compress_structured_data(session: &VortexSession) -> Result<(), Box<dyn std::error::Error>> {
203200
// Create a struct array with multiple columns
204201
let size = 5000;
205202

@@ -236,7 +233,6 @@ fn compress_structured_data() -> Result<(), Box<dyn std::error::Error>> {
236233
println!(" Uncompressed size: ~{} bytes", uncompressed_size);
237234

238235
let compressor = BtrBlocksCompressor::default();
239-
let session = VortexSession::default();
240236
let compressed = compressor.compress(
241237
&struct_array.into_array(),
242238
&mut session.create_execution_ctx(),

0 commit comments

Comments
 (0)