diff --git a/Cargo.lock b/Cargo.lock
index d2729c9f008..9dba874ff70 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -12457,6 +12457,7 @@ name = "vortex-sequence"
version = "0.1.0"
dependencies = [
"codspeed-divan-compat",
+ "hegeltest",
"mimalloc",
"num-traits",
"prost 0.14.4",
diff --git a/benchmarks/compress-bench/README.md b/benchmarks/compress-bench/README.md
index acee41d1284..8f3764823d3 100644
--- a/benchmarks/compress-bench/README.md
+++ b/benchmarks/compress-bench/README.md
@@ -11,7 +11,8 @@ ratios. Parquet provides the established reference for a compressed columnar rep
The suite covers NYC taxi data and several
[Public BI](https://github.com/cwida/public_bi_benchmark) tables (Arade, Bimbo,
-CMSprovider, Euro2016, Food, HashTags), TPC-H `l_comment` variants, and synthetic nested
+CMSprovider, Euro2016, Food, HashTags), TPC-H `l_comment` variants, the TPC-H `lineitem`,
+`orders`, and `partsupp` tables at scale factor 1 (`TPC-H SF1
`), and synthetic nested
data. This is the workload behind the `Compression` PR comment.
See [`src/main.rs`](./src/main.rs) for the dataset list and CLI flags (`--formats`,
diff --git a/benchmarks/compress-bench/src/main.rs b/benchmarks/compress-bench/src/main.rs
index 51c6c90f812..9e6e9aeafa9 100644
--- a/benchmarks/compress-bench/src/main.rs
+++ b/benchmarks/compress-bench/src/main.rs
@@ -41,6 +41,7 @@ use vortex_bench::datasets::struct_list_of_ints::StructListOfInts;
use vortex_bench::datasets::taxi_data::TaxiData;
use vortex_bench::datasets::tpch_l_comment::TPCHLCommentCanonical;
use vortex_bench::datasets::tpch_l_comment::TPCHLCommentChunked;
+use vortex_bench::datasets::tpch_sf1::TpchSf1Table;
use vortex_bench::display::DisplayFormat;
use vortex_bench::display::print_measurements_json;
use vortex_bench::display::render_table;
@@ -325,6 +326,7 @@ async fn run_compress(
&DownloadableDataset::AirQuality,
]
.into_iter()
+ .chain(TpchSf1Table::ALL.iter().map(|d| d as &dyn Dataset))
.chain(structlistofints.iter().map(|d| d as &dyn Dataset))
.chain(sparse_wide.iter().map(|d| d as &dyn Dataset))
.collect();
diff --git a/benchmarks/string-bench/README.md b/benchmarks/string-bench/README.md
index 566d71bdb7c..d7a2c6e84e4 100644
--- a/benchmarks/string-bench/README.md
+++ b/benchmarks/string-bench/README.md
@@ -78,11 +78,14 @@ The current input catalog is:
| `news/headlines` | "A Million News Headlines" (ABC News), `headline_text` | 1.23M |
| `twitter/sentiment140` | Sentiment140 tweets, train split, `text` | 1.36M |
| `fineweb/text` | FineWeb `sample/10BT/001_00000.parquet`, `text` | first 10k |
+| `tinystories/text` | TinyStories, train split, `text` | first 33,121 |
The Amazon, news, and tweet inputs are four of the five datasets the
[OnPair paper](https://arxiv.org/abs/2508.02280) evaluates on. The fifth,
OpenWebText URLs, has no public parquet mirror; ClickBench `URL` covers that
-shape. FineWeb adds long web documents.
+shape. FineWeb adds long web documents. TinyStories adds short
+stories with a small vocabulary; 33,121 rows is one file of the NeMo Curator text IO
+benchmark.
On first use, the selected ClickBench shard is downloaded through
`vortex-bench`'s shared idempotent downloader. TPC-H SF1 is generated
diff --git a/benchmarks/string-bench/src/lib.rs b/benchmarks/string-bench/src/lib.rs
index 2505cc791c7..9ddaca5a39f 100644
--- a/benchmarks/string-bench/src/lib.rs
+++ b/benchmarks/string-bench/src/lib.rs
@@ -359,7 +359,8 @@ pub struct HfColumn {
/// The datasets the OnPair paper (Gargiulo & Venturini, "OnPair: Short Strings
/// Compression for Fast Random Access", arXiv:2508.02280) evaluates on, from
-/// public parquet mirrors, plus a slice of FineWeb as long-document web text.
+/// public parquet mirrors, plus a slice of FineWeb as long-document web text and
+/// a slice of TinyStories as short-story text.
///
/// The paper's fifth dataset, OpenWebText URLs, has no parquet mirror; the
/// ClickBench `URL` column covers that shape.
@@ -401,6 +402,14 @@ pub const HF_COLUMNS: &[HfColumn] = &[
column: "text",
max_rows: Some(10_000),
},
+ // TinyStories story text: the first 33,121 stories (about 28 MiB), the
+ // size of one file that the NeMo Curator text IO benchmark writes.
+ HfColumn {
+ name: "tinystories/text",
+ url: "hf://datasets/roneneldan/TinyStories@37346026e81060382814d5a773f3c34799e118e7/default/train/0000.parquet",
+ column: "text",
+ max_rows: Some(33_121),
+ },
];
/// Reader for a remote parquet file, used only to fill the local input cache.
diff --git a/docs/_ext/vortex_site_files.py b/docs/_ext/vortex_site_files.py
index cd52666ef46..654be5a7476 100644
--- a/docs/_ext/vortex_site_files.py
+++ b/docs/_ext/vortex_site_files.py
@@ -95,6 +95,8 @@ def _llms(app: Sphinx) -> str:
"",
"- [Benchmark summaries](https://bench.vortex.dev/llms.txt): every benchmark group's rankings and methods",
"- [Vortex homepage](https://vortex.dev/llms.txt): what Vortex is, how to install it, and its results",
+ "- [Questions and answers](https://vortex.dev/faq): how Vortex compares to Parquet and Lance, "
+ "who uses it, and how it is governed",
"",
"## Optional",
"",
diff --git a/docs/_theme/vortex/layout.html b/docs/_theme/vortex/layout.html
index eb4e175e3d7..81ee7148135 100644
--- a/docs/_theme/vortex/layout.html
+++ b/docs/_theme/vortex/layout.html
@@ -132,6 +132,7 @@