should be it
This commit is contained in:
20
external/duckdb/benchmark/micro/compression/fsst/fsst_late_decompression.benchmark
vendored
Normal file
20
external/duckdb/benchmark/micro/compression/fsst/fsst_late_decompression.benchmark
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
# name: benchmark/micro/compression/fsst/fsst_late_decompression.benchmark
|
||||
# description: Using a filter on another column to make use of late decompression
|
||||
# group: [fsst]
|
||||
|
||||
name fsst late decompression benefit
|
||||
group fsst
|
||||
storage persistent
|
||||
|
||||
load
|
||||
DROP TABLE IF EXISTS test;
|
||||
PRAGMA force_compression='fsst';
|
||||
CREATE TABLE test AS SELECT i as id, (100 + (i%2))::VARCHAR AS value FROM range(0, 50000000) tbl(i);
|
||||
checkpoint;
|
||||
SET enable_fsst_vectors=false;
|
||||
|
||||
run
|
||||
select avg(value::INT) from test where id%10=0;
|
||||
|
||||
result I
|
||||
100.500000
|
||||
19
external/duckdb/benchmark/micro/compression/fsst/fsst_read.benchmark
vendored
Normal file
19
external/duckdb/benchmark/micro/compression/fsst/fsst_read.benchmark
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
# name: benchmark/micro/compression/fsst/fsst_read.benchmark
|
||||
# description: Scanning strings at ~3.35x compression
|
||||
# group: [fsst]
|
||||
|
||||
name fsst Compression Scan
|
||||
group fsst
|
||||
storage persistent
|
||||
|
||||
load
|
||||
DROP TABLE IF EXISTS test;
|
||||
PRAGMA force_compression='fsst';
|
||||
CREATE TABLE test AS SELECT (100 + (i%1000))::VARCHAR AS i FROM range(0, 50000000) tbl(i);
|
||||
checkpoint;
|
||||
|
||||
run
|
||||
select avg(i::INT) from test;
|
||||
|
||||
result I
|
||||
599.500000
|
||||
16
external/duckdb/benchmark/micro/compression/fsst/fsst_read_worst_case.benchmark
vendored
Normal file
16
external/duckdb/benchmark/micro/compression/fsst/fsst_read_worst_case.benchmark
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
# name: benchmark/micro/compression/fsst/fsst_read_worst_case.benchmark
|
||||
# description: Scanning data that is not with fsst encoding, note that compresssion ratio is still 1.9x due to bitpacking
|
||||
# group: [fsst]
|
||||
|
||||
name fsst Compression Scan
|
||||
group aggregate
|
||||
storage persistent
|
||||
|
||||
load
|
||||
DROP TABLE IF EXISTS test;
|
||||
PRAGMA force_compression='fsst';
|
||||
CREATE TABLE test AS SELECT gen_random_uuid()::VARCHAR AS i FROM range(0, 20000000) tbl(i);
|
||||
checkpoint;
|
||||
|
||||
run
|
||||
select max(i[2]) from test;
|
||||
16
external/duckdb/benchmark/micro/compression/fsst/fsst_store.benchmark
vendored
Normal file
16
external/duckdb/benchmark/micro/compression/fsst/fsst_store.benchmark
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
# name: benchmark/micro/compression/fsst/fsst_store.benchmark
|
||||
# description: Storing strings compressed at ~3.3x compression
|
||||
# group: [fsst]
|
||||
|
||||
name fsst Compression Write
|
||||
group aggregate
|
||||
storage persistent
|
||||
require_reinit
|
||||
|
||||
load
|
||||
PRAGMA force_compression='fsst';
|
||||
|
||||
run
|
||||
CREATE TABLE test_compressed AS SELECT (100 + (i%1000))::VARCHAR AS i FROM range(0, 2500000) tbl(i);
|
||||
checkpoint;
|
||||
|
||||
16
external/duckdb/benchmark/micro/compression/fsst/fsst_store_worst_case.benchmark
vendored
Normal file
16
external/duckdb/benchmark/micro/compression/fsst/fsst_store_worst_case.benchmark
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
# name: benchmark/micro/compression/fsst/fsst_store_worst_case.benchmark
|
||||
# description: Storing a column containing only unique strings.
|
||||
# group: [fsst]
|
||||
|
||||
name name fsst Compression Write
|
||||
group fsst
|
||||
storage persistent
|
||||
require_reinit
|
||||
|
||||
load
|
||||
PRAGMA force_compression='fsst';
|
||||
DROP TABLE IF EXISTS test;
|
||||
|
||||
run
|
||||
CREATE TABLE test AS SELECT gen_random_uuid()::VARCHAR AS i FROM range(0, 2000000) tbl(i);
|
||||
checkpoint;
|
||||
17
external/duckdb/benchmark/micro/compression/fsst/select_fsst_selective.benchmark
vendored
Normal file
17
external/duckdb/benchmark/micro/compression/fsst/select_fsst_selective.benchmark
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
# name: benchmark/micro/compression/fsst/select_fsst_selective.benchmark
|
||||
# description: FSST String selective filter
|
||||
# group: [fsst]
|
||||
|
||||
name Select FSST String Columns (0.1% selectivity)
|
||||
group fsst
|
||||
storage persistent
|
||||
|
||||
load
|
||||
CREATE TABLE string_values(filter_val INTEGER USING COMPRESSION UNCOMPRESSED, str_val VARCHAR USING COMPRESSION FSST, str_val_nulls VARCHAR USING COMPRESSION FSST);
|
||||
INSERT INTO string_values SELECT i % 1000, case when i%7=0 then concat('thisisalongstring', i) else concat('shortstr', i // 10) end str_val, case when i%3=0 then null else str_val end str_val_nulls FROM range(100_000_000) t(i);
|
||||
|
||||
run
|
||||
SELECT COUNT(*), SUM(strlen(str_val)), SUM(strlen(str_val_nulls)), COUNT(str_val_nulls) FROM string_values WHERE filter_val=77;
|
||||
|
||||
result IIII
|
||||
100000 1631748 1087835 66667
|
||||
17
external/duckdb/benchmark/micro/compression/fsst/select_fsst_unselective.benchmark
vendored
Normal file
17
external/duckdb/benchmark/micro/compression/fsst/select_fsst_unselective.benchmark
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
# name: benchmark/micro/compression/fsst/select_fsst_unselective.benchmark
|
||||
# description: FSST String unselective filter
|
||||
# group: [fsst]
|
||||
|
||||
name Select FSST String Columns (33% selectivity)
|
||||
group fsst
|
||||
storage persistent
|
||||
|
||||
load
|
||||
CREATE TABLE string_values(filter_val INTEGER USING COMPRESSION UNCOMPRESSED, str_val VARCHAR USING COMPRESSION FSST, str_val_nulls VARCHAR USING COMPRESSION FSST);
|
||||
INSERT INTO string_values SELECT i % 3, case when i%7=0 then concat('thisisalongstring', i) else concat('shortstr', i // 10) end str_val, case when i%3=0 then null else str_val end str_val_nulls FROM range(100_000_000) t(i);
|
||||
|
||||
run
|
||||
SELECT COUNT(*), SUM(strlen(str_val)), SUM(strlen(str_val_nulls)), COUNT(str_val_nulls) FROM string_values WHERE filter_val=1;
|
||||
|
||||
result IIII
|
||||
33333333 543915346 543915346 33333333
|
||||
Reference in New Issue
Block a user