Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion infino/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ queries, so `tuned=no`.
```

The release build is portable (no `-C target-cpu`), pinned to a published crate
version (`infino = "0.5.3"`) so the result is reproducible from crates.io alone.
version (`infino = "0.5.6"`) so the result is reproducible from crates.io alone.
LTO is sized to the machine by `install`: fat LTO + `codegen-units = 1` at
>= 12 GiB RAM (its single-pass link peaks ~7.6 GB), thin LTO below so the small
VMs still build. Reads use strong consistency, so a query issued right after
Expand Down
4 changes: 2 additions & 2 deletions infino/bench/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion infino/bench/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name = "clickbench-infino"
path = "src/main.rs"

[dependencies]
infino = "0.5.3"
infino = "0.5.6"
arrow = { version = "58", features = ["prettyprint"] }
arrow-array = "58"
arrow-schema = "58"
Expand Down
14 changes: 11 additions & 3 deletions infino/bench/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,17 @@ use arrow_schema::{DataType, Field, Schema, SchemaRef};
use parquet::arrow::arrow_reader::ParquetRecordBatchReaderBuilder;

use infino::{
connect_with, CompactionSettings, ConnectOptions, Consistency, IndexSpec, OptimizeOptions,
connect_with, CompactionSettings, ConnectOptions, Consistency, GcSettings, IndexSpec,
OptimizeOptions,
};

type R<T> = Result<T, Box<dyn Error>>;

const BATCH_ROWS: usize = 1_000_000;

/// Safety gap for the load's own garbage collection.
const GC_SAFETY_GAP_SECS: u64 = 1;

fn uri() -> String {
env::var("INFINO_URI").unwrap_or_else(|_| "./data".to_string())
}
Expand Down Expand Up @@ -177,6 +181,9 @@ fn load() -> R<()> {
/// of one large file plus small leftovers. min_fill_percent is dropped to 1 so
/// a one-shot optimize actually merges the small tail rather than leaving it.
fn optimize_options() -> OptimizeOptions {
// Reclaim the files this optimize supersedes instead of leaving them for a later sweep.
// The cost adds in "load" time.
let gc = GcSettings::default().with_safety_gap(Duration::from_secs(GC_SAFETY_GAP_SECS));
match env::var("INFINO_TARGET_SF_MB")
.ok()
.and_then(|s| s.parse::<u64>().ok())
Expand All @@ -186,8 +193,9 @@ fn optimize_options() -> OptimizeOptions {
min_fill_percent: 1,
max_memory_mb: mb + 2048,
..Default::default()
}),
None => OptimizeOptions::default(),
})
.with_gc(gc),
None => OptimizeOptions::default().with_gc(gc),
}
}

Expand Down
59 changes: 59 additions & 0 deletions infino/results/20260818/c6a.4xlarge.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
"system": "Infino",
"date": "2026-08-18",
"machine": "c6a.4xlarge",
"cluster_size": 1,
"proprietary": "no",
"hardware": "cpu",
"tuned": "no",
"tags": ["Rust","column-oriented","search"],
"load_time": 1138,
"data_size": 9842040660,
"concurrent_qps": null,
"concurrent_error_ratio": null,
"result": [
[0.583, 0.006, 0.006],
[0.802, 0.03, 0.029],
[1.245, 0.068, 0.067],
[1.968, 0.06, 0.057],
[1.941, 0.586, 0.555],
[1.602, 0.629, 0.628],
[0.653, 0.006, 0.006],
[0.802, 0.032, 0.035],
[2.343, 0.718, 0.722],
[3.927, 0.743, 0.764],
[2.615, 0.226, 0.226],
[2.627, 0.259, 0.267],
[1.526, 0.754, 0.725],
[4.276, 1.126, 1.127],
[1.527, 0.762, 0.75],
[2.191, 0.641, 0.65],
[4.166, 1.413, 1.422],
[3.996, 1.387, 1.415],
[5.703, 2.123, 2.166],
[0.906, 0.037, 0.034],
[5.868, 1.36, 1.382],
[7.696, 1.287, 1.209],
[10.684, 1.978, 1.981],
[1.625, 0.197, 0.209],
[1.821, 0.251, 0.239],
[1.674, 0.412, 0.413],
[1.826, 0.297, 0.298],
[6.657, 1.218, 1.239],
[5.911, 3.9, 3.91],
[0.677, 0.06, 0.058],
[4.706, 0.876, 0.877],
[9.644, 1.083, 1.056],
[7.866, 2.494, 2.498],
[6.167, 3.099, 3.048],
[6.146, 3.057, 3.071],
[1.634, 0.522, 0.527],
[0.834, 0.061, 0.058],
[0.788, 0.037, 0.032],
[0.794, 0.031, 0.031],
[0.889, 0.097, 0.099],
[0.778, 0.021, 0.024],
[0.773, 0.02, 0.019],
[0.766, 0.017, 0.016]
]
}