# Benchmark Report (multi-target)

## Target `i686-gnu`

Generated by `.github/scripts/run-benchmarks.sh` from `cargo bench --bench compare_ffi`.

## Compression Ratios

| Scenario | Label | Level | Input bytes | Rust bytes | C bytes | Rust ratio | C ratio |
| --- | --- | --- | ---: | ---: | ---: | ---: | ---: |
| decodecorpus-z000033 | Repo decode corpus sample | best | 1022035 | 540157 | 509317 | 0.5285 | 0.4983 |
| decodecorpus-z000033 | Repo decode corpus sample | better | 1022035 | 541596 | 510030 | 0.5299 | 0.4990 |
| decodecorpus-z000033 | Repo decode corpus sample | default | 1022035 | 578146 | 527141 | 0.5657 | 0.5158 |
| decodecorpus-z000033 | Repo decode corpus sample | fastest | 1022035 | 608363 | 570499 | 0.5952 | 0.5582 |
| high-entropy-1m | High entropy random payload (1 MiB) | best | 1048576 | 1048617 | 1048609 | 1.0000 | 1.0000 |
| high-entropy-1m | High entropy random payload (1 MiB) | better | 1048576 | 1048617 | 1048609 | 1.0000 | 1.0000 |
| high-entropy-1m | High entropy random payload (1 MiB) | default | 1048576 | 1048617 | 1048609 | 1.0000 | 1.0000 |
| high-entropy-1m | High entropy random payload (1 MiB) | fastest | 1048576 | 1048617 | 1048609 | 1.0000 | 1.0000 |
| large-log-stream | Large structured stream | best | 16777216 | 1832 | 3077 | 0.0001 | 0.0002 |
| large-log-stream | Large structured stream | better | 16777216 | 1834 | 1684 | 0.0001 | 0.0001 |
| large-log-stream | Large structured stream | default | 16777216 | 1836 | 1679 | 0.0001 | 0.0001 |
| large-log-stream | Large structured stream | fastest | 16777216 | 21233 | 1683 | 0.0013 | 0.0001 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | best | 1048576 | 171 | 155 | 0.0002 | 0.0001 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | better | 1048576 | 171 | 155 | 0.0002 | 0.0001 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | default | 1048576 | 171 | 155 | 0.0002 | 0.0001 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | fastest | 1048576 | 514 | 155 | 0.0005 | 0.0001 |
| small-10k-random | Small random payload (10 KiB) | best | 10240 | 10259 | 10249 | 1.0019 | 1.0009 |
| small-10k-random | Small random payload (10 KiB) | better | 10240 | 10259 | 10249 | 1.0019 | 1.0009 |
| small-10k-random | Small random payload (10 KiB) | default | 10240 | 10259 | 10249 | 1.0019 | 1.0009 |
| small-10k-random | Small random payload (10 KiB) | fastest | 10240 | 10259 | 10249 | 1.0019 | 1.0009 |
| small-1k-random | Small random payload (1 KiB) | best | 1024 | 1043 | 1033 | 1.0186 | 1.0088 |
| small-1k-random | Small random payload (1 KiB) | better | 1024 | 1043 | 1033 | 1.0186 | 1.0088 |
| small-1k-random | Small random payload (1 KiB) | default | 1024 | 1043 | 1033 | 1.0186 | 1.0088 |
| small-1k-random | Small random payload (1 KiB) | fastest | 1024 | 1043 | 1033 | 1.0186 | 1.0088 |
| small-4k-log-lines | Small structured log lines (4 KiB) | best | 4096 | 174 | 149 | 0.0425 | 0.0364 |
| small-4k-log-lines | Small structured log lines (4 KiB) | better | 4096 | 174 | 149 | 0.0425 | 0.0364 |
| small-4k-log-lines | Small structured log lines (4 KiB) | default | 4096 | 177 | 151 | 0.0432 | 0.0369 |
| small-4k-log-lines | Small structured log lines (4 KiB) | fastest | 4096 | 178 | 156 | 0.0435 | 0.0381 |

## Buffer Size Estimates (Input + Output)

| Scenario | Label | Level | Stage | Rust buffer bytes (estimate) | C buffer bytes (estimate) |
| --- | --- | --- | --- | ---: | ---: |
| decodecorpus-z000033 | Repo decode corpus sample | best | compress | 1562192 | 1531352 |
| decodecorpus-z000033 | Repo decode corpus sample | best | decompress-c_stream | 1531352 | 1531352 |
| decodecorpus-z000033 | Repo decode corpus sample | best | decompress-rust_stream | 1562192 | 1562192 |
| decodecorpus-z000033 | Repo decode corpus sample | better | compress | 1563631 | 1532065 |
| decodecorpus-z000033 | Repo decode corpus sample | better | decompress-c_stream | 1532065 | 1532065 |
| decodecorpus-z000033 | Repo decode corpus sample | better | decompress-rust_stream | 1563631 | 1563631 |
| decodecorpus-z000033 | Repo decode corpus sample | default | compress | 1600181 | 1549176 |
| decodecorpus-z000033 | Repo decode corpus sample | default | decompress-c_stream | 1549176 | 1549176 |
| decodecorpus-z000033 | Repo decode corpus sample | default | decompress-rust_stream | 1600181 | 1600181 |
| decodecorpus-z000033 | Repo decode corpus sample | fastest | compress | 1630398 | 1592534 |
| decodecorpus-z000033 | Repo decode corpus sample | fastest | decompress-c_stream | 1592534 | 1592534 |
| decodecorpus-z000033 | Repo decode corpus sample | fastest | decompress-rust_stream | 1630398 | 1630398 |
| high-entropy-1m | High entropy random payload (1 MiB) | best | compress | 2097193 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | best | decompress-c_stream | 2097185 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | best | decompress-rust_stream | 2097193 | 2097193 |
| high-entropy-1m | High entropy random payload (1 MiB) | better | compress | 2097193 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | better | decompress-c_stream | 2097185 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | better | decompress-rust_stream | 2097193 | 2097193 |
| high-entropy-1m | High entropy random payload (1 MiB) | default | compress | 2097193 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | default | decompress-c_stream | 2097185 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | default | decompress-rust_stream | 2097193 | 2097193 |
| high-entropy-1m | High entropy random payload (1 MiB) | fastest | compress | 2097193 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | fastest | decompress-c_stream | 2097185 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | fastest | decompress-rust_stream | 2097193 | 2097193 |
| large-log-stream | Large structured stream | best | compress | 16779048 | 16780293 |
| large-log-stream | Large structured stream | best | decompress-c_stream | 16780293 | 16780293 |
| large-log-stream | Large structured stream | best | decompress-rust_stream | 16779048 | 16779048 |
| large-log-stream | Large structured stream | better | compress | 16779050 | 16778900 |
| large-log-stream | Large structured stream | better | decompress-c_stream | 16778900 | 16778900 |
| large-log-stream | Large structured stream | better | decompress-rust_stream | 16779050 | 16779050 |
| large-log-stream | Large structured stream | default | compress | 16779052 | 16778895 |
| large-log-stream | Large structured stream | default | decompress-c_stream | 16778895 | 16778895 |
| large-log-stream | Large structured stream | default | decompress-rust_stream | 16779052 | 16779052 |
| large-log-stream | Large structured stream | fastest | compress | 16798449 | 16778899 |
| large-log-stream | Large structured stream | fastest | decompress-c_stream | 16778899 | 16778899 |
| large-log-stream | Large structured stream | fastest | decompress-rust_stream | 16798449 | 16798449 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | best | compress | 1048747 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | best | decompress-c_stream | 1048731 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | best | decompress-rust_stream | 1048747 | 1048747 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | better | compress | 1048747 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | better | decompress-c_stream | 1048731 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | better | decompress-rust_stream | 1048747 | 1048747 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | default | compress | 1048747 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | default | decompress-c_stream | 1048731 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | default | decompress-rust_stream | 1048747 | 1048747 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | fastest | compress | 1049090 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | fastest | decompress-c_stream | 1048731 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | fastest | decompress-rust_stream | 1049090 | 1049090 |
| small-10k-random | Small random payload (10 KiB) | best | compress | 20499 | 20489 |
| small-10k-random | Small random payload (10 KiB) | best | decompress-c_stream | 20489 | 20489 |
| small-10k-random | Small random payload (10 KiB) | best | decompress-rust_stream | 20499 | 20499 |
| small-10k-random | Small random payload (10 KiB) | better | compress | 20499 | 20489 |
| small-10k-random | Small random payload (10 KiB) | better | decompress-c_stream | 20489 | 20489 |
| small-10k-random | Small random payload (10 KiB) | better | decompress-rust_stream | 20499 | 20499 |
| small-10k-random | Small random payload (10 KiB) | default | compress | 20499 | 20489 |
| small-10k-random | Small random payload (10 KiB) | default | decompress-c_stream | 20489 | 20489 |
| small-10k-random | Small random payload (10 KiB) | default | decompress-rust_stream | 20499 | 20499 |
| small-10k-random | Small random payload (10 KiB) | fastest | compress | 20499 | 20489 |
| small-10k-random | Small random payload (10 KiB) | fastest | decompress-c_stream | 20489 | 20489 |
| small-10k-random | Small random payload (10 KiB) | fastest | decompress-rust_stream | 20499 | 20499 |
| small-1k-random | Small random payload (1 KiB) | best | compress | 2067 | 2057 |
| small-1k-random | Small random payload (1 KiB) | best | decompress-c_stream | 2057 | 2057 |
| small-1k-random | Small random payload (1 KiB) | best | decompress-rust_stream | 2067 | 2067 |
| small-1k-random | Small random payload (1 KiB) | better | compress | 2067 | 2057 |
| small-1k-random | Small random payload (1 KiB) | better | decompress-c_stream | 2057 | 2057 |
| small-1k-random | Small random payload (1 KiB) | better | decompress-rust_stream | 2067 | 2067 |
| small-1k-random | Small random payload (1 KiB) | default | compress | 2067 | 2057 |
| small-1k-random | Small random payload (1 KiB) | default | decompress-c_stream | 2057 | 2057 |
| small-1k-random | Small random payload (1 KiB) | default | decompress-rust_stream | 2067 | 2067 |
| small-1k-random | Small random payload (1 KiB) | fastest | compress | 2067 | 2057 |
| small-1k-random | Small random payload (1 KiB) | fastest | decompress-c_stream | 2057 | 2057 |
| small-1k-random | Small random payload (1 KiB) | fastest | decompress-rust_stream | 2067 | 2067 |
| small-4k-log-lines | Small structured log lines (4 KiB) | best | compress | 4270 | 4245 |
| small-4k-log-lines | Small structured log lines (4 KiB) | best | decompress-c_stream | 4245 | 4245 |
| small-4k-log-lines | Small structured log lines (4 KiB) | best | decompress-rust_stream | 4270 | 4270 |
| small-4k-log-lines | Small structured log lines (4 KiB) | better | compress | 4270 | 4245 |
| small-4k-log-lines | Small structured log lines (4 KiB) | better | decompress-c_stream | 4245 | 4245 |
| small-4k-log-lines | Small structured log lines (4 KiB) | better | decompress-rust_stream | 4270 | 4270 |
| small-4k-log-lines | Small structured log lines (4 KiB) | default | compress | 4273 | 4247 |
| small-4k-log-lines | Small structured log lines (4 KiB) | default | decompress-c_stream | 4247 | 4247 |
| small-4k-log-lines | Small structured log lines (4 KiB) | default | decompress-rust_stream | 4273 | 4273 |
| small-4k-log-lines | Small structured log lines (4 KiB) | fastest | compress | 4274 | 4252 |
| small-4k-log-lines | Small structured log lines (4 KiB) | fastest | decompress-c_stream | 4252 | 4252 |
| small-4k-log-lines | Small structured log lines (4 KiB) | fastest | decompress-rust_stream | 4274 | 4274 |

## Dictionary Compression (C FFI)

| Scenario | Label | Level | Dict bytes | Train ms | C bytes (no dict) | C bytes (with dict) | C ratio (no dict) | C ratio (with dict) |
| --- | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: |
| _n/a_ | _no dictionary rows emitted in this run_ | - | - | - | - | - | - | - |

## Dictionary Training (Rust FastCOVER vs C FFI)

| Scenario | Label | Dict bytes (requested) | Rust train ms | C train ms | Rust dict bytes | C dict bytes | Rust FastCOVER score | Delta (C/Rust) | Status |
| --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | --- |
| _n/a_ | _no dictionary training rows emitted in this run_ | - | - | - | - | - | - | - | - |

## Timing Metrics

| Benchmark | ms/iter |
| --- | ---: |
| `compress/best/decodecorpus-z000033/matrix/c_ffi` | 46.676 |
| `compress/best/decodecorpus-z000033/matrix/pure_rust` | 80.849 |
| `compress/best/high-entropy-1m/matrix/c_ffi` | 4.006 |
| `compress/best/high-entropy-1m/matrix/pure_rust` | 71.548 |
| `compress/best/large-log-stream/matrix/c_ffi` | 25.038 |
| `compress/best/large-log-stream/matrix/pure_rust` | 160.854 |
| `compress/best/low-entropy-1m/matrix/c_ffi` | 3.797 |
| `compress/best/low-entropy-1m/matrix/pure_rust` | 10.259 |
| `compress/best/small-10k-random/matrix/c_ffi` | 2.182 |
| `compress/best/small-10k-random/matrix/pure_rust` | 2.783 |
| `compress/best/small-1k-random/matrix/c_ffi` | 2.117 |
| `compress/best/small-1k-random/matrix/pure_rust` | 1.129 |
| `compress/best/small-4k-log-lines/matrix/c_ffi` | 2.113 |
| `compress/best/small-4k-log-lines/matrix/pure_rust` | 0.392 |
| `compress/better/decodecorpus-z000033/matrix/c_ffi` | 27.253 |
| `compress/better/decodecorpus-z000033/matrix/pure_rust` | 75.380 |
| `compress/better/high-entropy-1m/matrix/c_ffi` | 2.299 |
| `compress/better/high-entropy-1m/matrix/pure_rust` | 83.334 |
| `compress/better/large-log-stream/matrix/c_ffi` | 18.747 |
| `compress/better/large-log-stream/matrix/pure_rust` | 156.110 |
| `compress/better/low-entropy-1m/matrix/c_ffi` | 2.048 |
| `compress/better/low-entropy-1m/matrix/pure_rust` | 9.737 |
| `compress/better/small-10k-random/matrix/c_ffi` | 1.067 |
| `compress/better/small-10k-random/matrix/pure_rust` | 2.709 |
| `compress/better/small-1k-random/matrix/c_ffi` | 1.036 |
| `compress/better/small-1k-random/matrix/pure_rust` | 1.499 |
| `compress/better/small-4k-log-lines/matrix/c_ffi` | 1.020 |
| `compress/better/small-4k-log-lines/matrix/pure_rust` | 0.407 |
| `compress/default/decodecorpus-z000033/matrix/c_ffi` | 9.498 |
| `compress/default/decodecorpus-z000033/matrix/pure_rust` | 90.828 |
| `compress/default/high-entropy-1m/matrix/c_ffi` | 1.146 |
| `compress/default/high-entropy-1m/matrix/pure_rust` | 141.038 |
| `compress/default/large-log-stream/matrix/c_ffi` | 6.625 |
| `compress/default/large-log-stream/matrix/pure_rust` | 154.794 |
| `compress/default/low-entropy-1m/matrix/c_ffi` | 0.707 |
| `compress/default/low-entropy-1m/matrix/pure_rust` | 13.630 |
| `compress/default/small-10k-random/matrix/c_ffi` | 0.315 |
| `compress/default/small-10k-random/matrix/pure_rust` | 4.467 |
| `compress/default/small-1k-random/matrix/c_ffi` | 0.296 |
| `compress/default/small-1k-random/matrix/pure_rust` | 3.667 |
| `compress/default/small-4k-log-lines/matrix/c_ffi` | 0.302 |
| `compress/default/small-4k-log-lines/matrix/pure_rust` | 3.664 |
| `compress/fastest/decodecorpus-z000033/matrix/c_ffi` | 5.326 |
| `compress/fastest/decodecorpus-z000033/matrix/pure_rust` | 23.644 |
| `compress/fastest/high-entropy-1m/matrix/c_ffi` | 1.203 |
| `compress/fastest/high-entropy-1m/matrix/pure_rust` | 32.656 |
| `compress/fastest/large-log-stream/matrix/c_ffi` | 4.631 |
| `compress/fastest/large-log-stream/matrix/pure_rust` | 34.550 |
| `compress/fastest/low-entropy-1m/matrix/c_ffi` | 0.595 |
| `compress/fastest/low-entropy-1m/matrix/pure_rust` | 2.618 |
| `compress/fastest/small-10k-random/matrix/c_ffi` | 0.074 |
| `compress/fastest/small-10k-random/matrix/pure_rust` | 0.262 |
| `compress/fastest/small-1k-random/matrix/c_ffi` | 0.055 |
| `compress/fastest/small-1k-random/matrix/pure_rust` | 0.041 |
| `compress/fastest/small-4k-log-lines/matrix/c_ffi` | 0.067 |
| `compress/fastest/small-4k-log-lines/matrix/pure_rust` | 0.031 |
| `decompress/best/decodecorpus-z000033/c_stream/matrix/c_ffi` | 1.807 |
| `decompress/best/decodecorpus-z000033/c_stream/matrix/pure_rust` | 7.438 |
| `decompress/best/decodecorpus-z000033/rust_stream/matrix/c_ffi` | 1.474 |
| `decompress/best/decodecorpus-z000033/rust_stream/matrix/pure_rust` | 3.771 |
| `decompress/best/high-entropy-1m/c_stream/matrix/c_ffi` | 0.027 |
| `decompress/best/high-entropy-1m/c_stream/matrix/pure_rust` | 0.532 |
| `decompress/best/high-entropy-1m/rust_stream/matrix/c_ffi` | 0.535 |
| `decompress/best/high-entropy-1m/rust_stream/matrix/pure_rust` | 0.530 |
| `decompress/best/large-log-stream/c_stream/matrix/c_ffi` | 1.568 |
| `decompress/best/large-log-stream/c_stream/matrix/pure_rust` | 9.324 |
| `decompress/best/large-log-stream/rust_stream/matrix/c_ffi` | 9.207 |
| `decompress/best/large-log-stream/rust_stream/matrix/pure_rust` | 8.971 |
| `decompress/best/low-entropy-1m/c_stream/matrix/c_ffi` | 0.203 |
| `decompress/best/low-entropy-1m/c_stream/matrix/pure_rust` | 0.957 |
| `decompress/best/low-entropy-1m/rust_stream/matrix/c_ffi` | 0.655 |
| `decompress/best/low-entropy-1m/rust_stream/matrix/pure_rust` | 0.952 |
| `decompress/best/small-10k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/best/small-10k-random/c_stream/matrix/pure_rust` | 0.008 |
| `decompress/best/small-10k-random/rust_stream/matrix/c_ffi` | 0.005 |
| `decompress/best/small-10k-random/rust_stream/matrix/pure_rust` | 0.005 |
| `decompress/best/small-1k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/best/small-1k-random/c_stream/matrix/pure_rust` | 0.003 |
| `decompress/best/small-1k-random/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/best/small-1k-random/rust_stream/matrix/pure_rust` | 0.001 |
| `decompress/best/small-4k-log-lines/c_stream/matrix/c_ffi` | 0.003 |
| `decompress/best/small-4k-log-lines/c_stream/matrix/pure_rust` | 0.007 |
| `decompress/best/small-4k-log-lines/rust_stream/matrix/c_ffi` | 0.003 |
| `decompress/best/small-4k-log-lines/rust_stream/matrix/pure_rust` | 0.004 |
| `decompress/better/decodecorpus-z000033/c_stream/matrix/c_ffi` | 1.849 |
| `decompress/better/decodecorpus-z000033/c_stream/matrix/pure_rust` | 7.542 |
| `decompress/better/decodecorpus-z000033/rust_stream/matrix/c_ffi` | 1.489 |
| `decompress/better/decodecorpus-z000033/rust_stream/matrix/pure_rust` | 3.810 |
| `decompress/better/high-entropy-1m/c_stream/matrix/c_ffi` | 0.027 |
| `decompress/better/high-entropy-1m/c_stream/matrix/pure_rust` | 0.530 |
| `decompress/better/high-entropy-1m/rust_stream/matrix/c_ffi` | 0.535 |
| `decompress/better/high-entropy-1m/rust_stream/matrix/pure_rust` | 0.529 |
| `decompress/better/large-log-stream/c_stream/matrix/c_ffi` | 1.555 |
| `decompress/better/large-log-stream/c_stream/matrix/pure_rust` | 9.046 |
| `decompress/better/large-log-stream/rust_stream/matrix/c_ffi` | 9.204 |
| `decompress/better/large-log-stream/rust_stream/matrix/pure_rust` | 9.038 |
| `decompress/better/low-entropy-1m/c_stream/matrix/c_ffi` | 0.204 |
| `decompress/better/low-entropy-1m/c_stream/matrix/pure_rust` | 0.957 |
| `decompress/better/low-entropy-1m/rust_stream/matrix/c_ffi` | 0.655 |
| `decompress/better/low-entropy-1m/rust_stream/matrix/pure_rust` | 0.942 |
| `decompress/better/small-10k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/better/small-10k-random/c_stream/matrix/pure_rust` | 0.008 |
| `decompress/better/small-10k-random/rust_stream/matrix/c_ffi` | 0.005 |
| `decompress/better/small-10k-random/rust_stream/matrix/pure_rust` | 0.006 |
| `decompress/better/small-1k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/better/small-1k-random/c_stream/matrix/pure_rust` | 0.003 |
| `decompress/better/small-1k-random/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/better/small-1k-random/rust_stream/matrix/pure_rust` | 0.001 |
| `decompress/better/small-4k-log-lines/c_stream/matrix/c_ffi` | 0.003 |
| `decompress/better/small-4k-log-lines/c_stream/matrix/pure_rust` | 0.007 |
| `decompress/better/small-4k-log-lines/rust_stream/matrix/c_ffi` | 0.003 |
| `decompress/better/small-4k-log-lines/rust_stream/matrix/pure_rust` | 0.004 |
| `decompress/default/decodecorpus-z000033/c_stream/matrix/c_ffi` | 1.903 |
| `decompress/default/decodecorpus-z000033/c_stream/matrix/pure_rust` | 7.730 |
| `decompress/default/decodecorpus-z000033/rust_stream/matrix/c_ffi` | 1.235 |
| `decompress/default/decodecorpus-z000033/rust_stream/matrix/pure_rust` | 2.896 |
| `decompress/default/high-entropy-1m/c_stream/matrix/c_ffi` | 0.027 |
| `decompress/default/high-entropy-1m/c_stream/matrix/pure_rust` | 0.532 |
| `decompress/default/high-entropy-1m/rust_stream/matrix/c_ffi` | 0.535 |
| `decompress/default/high-entropy-1m/rust_stream/matrix/pure_rust` | 0.531 |
| `decompress/default/large-log-stream/c_stream/matrix/c_ffi` | 1.550 |
| `decompress/default/large-log-stream/c_stream/matrix/pure_rust` | 9.062 |
| `decompress/default/large-log-stream/rust_stream/matrix/c_ffi` | 9.220 |
| `decompress/default/large-log-stream/rust_stream/matrix/pure_rust` | 8.860 |
| `decompress/default/low-entropy-1m/c_stream/matrix/c_ffi` | 0.204 |
| `decompress/default/low-entropy-1m/c_stream/matrix/pure_rust` | 0.938 |
| `decompress/default/low-entropy-1m/rust_stream/matrix/c_ffi` | 0.655 |
| `decompress/default/low-entropy-1m/rust_stream/matrix/pure_rust` | 0.942 |
| `decompress/default/small-10k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/default/small-10k-random/c_stream/matrix/pure_rust` | 0.008 |
| `decompress/default/small-10k-random/rust_stream/matrix/c_ffi` | 0.005 |
| `decompress/default/small-10k-random/rust_stream/matrix/pure_rust` | 0.005 |
| `decompress/default/small-1k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/default/small-1k-random/c_stream/matrix/pure_rust` | 0.003 |
| `decompress/default/small-1k-random/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/default/small-1k-random/rust_stream/matrix/pure_rust` | 0.001 |
| `decompress/default/small-4k-log-lines/c_stream/matrix/c_ffi` | 0.003 |
| `decompress/default/small-4k-log-lines/c_stream/matrix/pure_rust` | 0.007 |
| `decompress/default/small-4k-log-lines/rust_stream/matrix/c_ffi` | 0.003 |
| `decompress/default/small-4k-log-lines/rust_stream/matrix/pure_rust` | 0.004 |
| `decompress/fastest/decodecorpus-z000033/c_stream/matrix/c_ffi` | 1.760 |
| `decompress/fastest/decodecorpus-z000033/c_stream/matrix/pure_rust` | 7.430 |
| `decompress/fastest/decodecorpus-z000033/rust_stream/matrix/c_ffi` | 1.472 |
| `decompress/fastest/decodecorpus-z000033/rust_stream/matrix/pure_rust` | 3.722 |
| `decompress/fastest/high-entropy-1m/c_stream/matrix/c_ffi` | 0.027 |
| `decompress/fastest/high-entropy-1m/c_stream/matrix/pure_rust` | 0.531 |
| `decompress/fastest/high-entropy-1m/rust_stream/matrix/c_ffi` | 0.534 |
| `decompress/fastest/high-entropy-1m/rust_stream/matrix/pure_rust` | 0.529 |
| `decompress/fastest/large-log-stream/c_stream/matrix/c_ffi` | 1.554 |
| `decompress/fastest/large-log-stream/c_stream/matrix/pure_rust` | 9.061 |
| `decompress/fastest/large-log-stream/rust_stream/matrix/c_ffi` | 9.506 |
| `decompress/fastest/large-log-stream/rust_stream/matrix/pure_rust` | 8.944 |
| `decompress/fastest/low-entropy-1m/c_stream/matrix/c_ffi` | 0.204 |
| `decompress/fastest/low-entropy-1m/c_stream/matrix/pure_rust` | 0.952 |
| `decompress/fastest/low-entropy-1m/rust_stream/matrix/c_ffi` | 0.701 |
| `decompress/fastest/low-entropy-1m/rust_stream/matrix/pure_rust` | 0.945 |
| `decompress/fastest/small-10k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/fastest/small-10k-random/c_stream/matrix/pure_rust` | 0.008 |
| `decompress/fastest/small-10k-random/rust_stream/matrix/c_ffi` | 0.005 |
| `decompress/fastest/small-10k-random/rust_stream/matrix/pure_rust` | 0.006 |
| `decompress/fastest/small-1k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/fastest/small-1k-random/c_stream/matrix/pure_rust` | 0.003 |
| `decompress/fastest/small-1k-random/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/fastest/small-1k-random/rust_stream/matrix/pure_rust` | 0.001 |
| `decompress/fastest/small-4k-log-lines/c_stream/matrix/c_ffi` | 0.003 |
| `decompress/fastest/small-4k-log-lines/c_stream/matrix/pure_rust` | 0.007 |
| `decompress/fastest/small-4k-log-lines/rust_stream/matrix/c_ffi` | 0.003 |
| `decompress/fastest/small-4k-log-lines/rust_stream/matrix/pure_rust` | 0.004 |

## Target `x86_64-gnu`

Generated by `.github/scripts/run-benchmarks.sh` from `cargo bench --bench compare_ffi`.

## Compression Ratios

| Scenario | Label | Level | Input bytes | Rust bytes | C bytes | Rust ratio | C ratio |
| --- | --- | --- | ---: | ---: | ---: | ---: | ---: |
| decodecorpus-z000033 | Repo decode corpus sample | best | 1022035 | 540157 | 509317 | 0.5285 | 0.4983 |
| decodecorpus-z000033 | Repo decode corpus sample | better | 1022035 | 541596 | 510030 | 0.5299 | 0.4990 |
| decodecorpus-z000033 | Repo decode corpus sample | default | 1022035 | 578146 | 527141 | 0.5657 | 0.5158 |
| decodecorpus-z000033 | Repo decode corpus sample | fastest | 1022035 | 608363 | 570499 | 0.5952 | 0.5582 |
| high-entropy-1m | High entropy random payload (1 MiB) | best | 1048576 | 1048617 | 1048609 | 1.0000 | 1.0000 |
| high-entropy-1m | High entropy random payload (1 MiB) | better | 1048576 | 1048617 | 1048609 | 1.0000 | 1.0000 |
| high-entropy-1m | High entropy random payload (1 MiB) | default | 1048576 | 1048617 | 1048609 | 1.0000 | 1.0000 |
| high-entropy-1m | High entropy random payload (1 MiB) | fastest | 1048576 | 1048617 | 1048609 | 1.0000 | 1.0000 |
| large-log-stream | Large structured stream | best | 16777216 | 1832 | 3077 | 0.0001 | 0.0002 |
| large-log-stream | Large structured stream | better | 16777216 | 1834 | 1684 | 0.0001 | 0.0001 |
| large-log-stream | Large structured stream | default | 16777216 | 1836 | 1679 | 0.0001 | 0.0001 |
| large-log-stream | Large structured stream | fastest | 16777216 | 21233 | 1683 | 0.0013 | 0.0001 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | best | 1048576 | 171 | 155 | 0.0002 | 0.0001 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | better | 1048576 | 171 | 155 | 0.0002 | 0.0001 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | default | 1048576 | 171 | 155 | 0.0002 | 0.0001 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | fastest | 1048576 | 514 | 155 | 0.0005 | 0.0001 |
| small-10k-random | Small random payload (10 KiB) | best | 10240 | 10259 | 10249 | 1.0019 | 1.0009 |
| small-10k-random | Small random payload (10 KiB) | better | 10240 | 10259 | 10249 | 1.0019 | 1.0009 |
| small-10k-random | Small random payload (10 KiB) | default | 10240 | 10259 | 10249 | 1.0019 | 1.0009 |
| small-10k-random | Small random payload (10 KiB) | fastest | 10240 | 10259 | 10249 | 1.0019 | 1.0009 |
| small-1k-random | Small random payload (1 KiB) | best | 1024 | 1043 | 1033 | 1.0186 | 1.0088 |
| small-1k-random | Small random payload (1 KiB) | better | 1024 | 1043 | 1033 | 1.0186 | 1.0088 |
| small-1k-random | Small random payload (1 KiB) | default | 1024 | 1043 | 1033 | 1.0186 | 1.0088 |
| small-1k-random | Small random payload (1 KiB) | fastest | 1024 | 1043 | 1033 | 1.0186 | 1.0088 |
| small-4k-log-lines | Small structured log lines (4 KiB) | best | 4096 | 174 | 149 | 0.0425 | 0.0364 |
| small-4k-log-lines | Small structured log lines (4 KiB) | better | 4096 | 174 | 149 | 0.0425 | 0.0364 |
| small-4k-log-lines | Small structured log lines (4 KiB) | default | 4096 | 177 | 151 | 0.0432 | 0.0369 |
| small-4k-log-lines | Small structured log lines (4 KiB) | fastest | 4096 | 178 | 156 | 0.0435 | 0.0381 |

## Buffer Size Estimates (Input + Output)

| Scenario | Label | Level | Stage | Rust buffer bytes (estimate) | C buffer bytes (estimate) |
| --- | --- | --- | --- | ---: | ---: |
| decodecorpus-z000033 | Repo decode corpus sample | best | compress | 1562192 | 1531352 |
| decodecorpus-z000033 | Repo decode corpus sample | best | decompress-c_stream | 1531352 | 1531352 |
| decodecorpus-z000033 | Repo decode corpus sample | best | decompress-rust_stream | 1562192 | 1562192 |
| decodecorpus-z000033 | Repo decode corpus sample | better | compress | 1563631 | 1532065 |
| decodecorpus-z000033 | Repo decode corpus sample | better | decompress-c_stream | 1532065 | 1532065 |
| decodecorpus-z000033 | Repo decode corpus sample | better | decompress-rust_stream | 1563631 | 1563631 |
| decodecorpus-z000033 | Repo decode corpus sample | default | compress | 1600181 | 1549176 |
| decodecorpus-z000033 | Repo decode corpus sample | default | decompress-c_stream | 1549176 | 1549176 |
| decodecorpus-z000033 | Repo decode corpus sample | default | decompress-rust_stream | 1600181 | 1600181 |
| decodecorpus-z000033 | Repo decode corpus sample | fastest | compress | 1630398 | 1592534 |
| decodecorpus-z000033 | Repo decode corpus sample | fastest | decompress-c_stream | 1592534 | 1592534 |
| decodecorpus-z000033 | Repo decode corpus sample | fastest | decompress-rust_stream | 1630398 | 1630398 |
| high-entropy-1m | High entropy random payload (1 MiB) | best | compress | 2097193 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | best | decompress-c_stream | 2097185 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | best | decompress-rust_stream | 2097193 | 2097193 |
| high-entropy-1m | High entropy random payload (1 MiB) | better | compress | 2097193 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | better | decompress-c_stream | 2097185 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | better | decompress-rust_stream | 2097193 | 2097193 |
| high-entropy-1m | High entropy random payload (1 MiB) | default | compress | 2097193 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | default | decompress-c_stream | 2097185 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | default | decompress-rust_stream | 2097193 | 2097193 |
| high-entropy-1m | High entropy random payload (1 MiB) | fastest | compress | 2097193 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | fastest | decompress-c_stream | 2097185 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | fastest | decompress-rust_stream | 2097193 | 2097193 |
| large-log-stream | Large structured stream | best | compress | 16779048 | 16780293 |
| large-log-stream | Large structured stream | best | decompress-c_stream | 16780293 | 16780293 |
| large-log-stream | Large structured stream | best | decompress-rust_stream | 16779048 | 16779048 |
| large-log-stream | Large structured stream | better | compress | 16779050 | 16778900 |
| large-log-stream | Large structured stream | better | decompress-c_stream | 16778900 | 16778900 |
| large-log-stream | Large structured stream | better | decompress-rust_stream | 16779050 | 16779050 |
| large-log-stream | Large structured stream | default | compress | 16779052 | 16778895 |
| large-log-stream | Large structured stream | default | decompress-c_stream | 16778895 | 16778895 |
| large-log-stream | Large structured stream | default | decompress-rust_stream | 16779052 | 16779052 |
| large-log-stream | Large structured stream | fastest | compress | 16798449 | 16778899 |
| large-log-stream | Large structured stream | fastest | decompress-c_stream | 16778899 | 16778899 |
| large-log-stream | Large structured stream | fastest | decompress-rust_stream | 16798449 | 16798449 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | best | compress | 1048747 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | best | decompress-c_stream | 1048731 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | best | decompress-rust_stream | 1048747 | 1048747 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | better | compress | 1048747 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | better | decompress-c_stream | 1048731 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | better | decompress-rust_stream | 1048747 | 1048747 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | default | compress | 1048747 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | default | decompress-c_stream | 1048731 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | default | decompress-rust_stream | 1048747 | 1048747 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | fastest | compress | 1049090 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | fastest | decompress-c_stream | 1048731 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | fastest | decompress-rust_stream | 1049090 | 1049090 |
| small-10k-random | Small random payload (10 KiB) | best | compress | 20499 | 20489 |
| small-10k-random | Small random payload (10 KiB) | best | decompress-c_stream | 20489 | 20489 |
| small-10k-random | Small random payload (10 KiB) | best | decompress-rust_stream | 20499 | 20499 |
| small-10k-random | Small random payload (10 KiB) | better | compress | 20499 | 20489 |
| small-10k-random | Small random payload (10 KiB) | better | decompress-c_stream | 20489 | 20489 |
| small-10k-random | Small random payload (10 KiB) | better | decompress-rust_stream | 20499 | 20499 |
| small-10k-random | Small random payload (10 KiB) | default | compress | 20499 | 20489 |
| small-10k-random | Small random payload (10 KiB) | default | decompress-c_stream | 20489 | 20489 |
| small-10k-random | Small random payload (10 KiB) | default | decompress-rust_stream | 20499 | 20499 |
| small-10k-random | Small random payload (10 KiB) | fastest | compress | 20499 | 20489 |
| small-10k-random | Small random payload (10 KiB) | fastest | decompress-c_stream | 20489 | 20489 |
| small-10k-random | Small random payload (10 KiB) | fastest | decompress-rust_stream | 20499 | 20499 |
| small-1k-random | Small random payload (1 KiB) | best | compress | 2067 | 2057 |
| small-1k-random | Small random payload (1 KiB) | best | decompress-c_stream | 2057 | 2057 |
| small-1k-random | Small random payload (1 KiB) | best | decompress-rust_stream | 2067 | 2067 |
| small-1k-random | Small random payload (1 KiB) | better | compress | 2067 | 2057 |
| small-1k-random | Small random payload (1 KiB) | better | decompress-c_stream | 2057 | 2057 |
| small-1k-random | Small random payload (1 KiB) | better | decompress-rust_stream | 2067 | 2067 |
| small-1k-random | Small random payload (1 KiB) | default | compress | 2067 | 2057 |
| small-1k-random | Small random payload (1 KiB) | default | decompress-c_stream | 2057 | 2057 |
| small-1k-random | Small random payload (1 KiB) | default | decompress-rust_stream | 2067 | 2067 |
| small-1k-random | Small random payload (1 KiB) | fastest | compress | 2067 | 2057 |
| small-1k-random | Small random payload (1 KiB) | fastest | decompress-c_stream | 2057 | 2057 |
| small-1k-random | Small random payload (1 KiB) | fastest | decompress-rust_stream | 2067 | 2067 |
| small-4k-log-lines | Small structured log lines (4 KiB) | best | compress | 4270 | 4245 |
| small-4k-log-lines | Small structured log lines (4 KiB) | best | decompress-c_stream | 4245 | 4245 |
| small-4k-log-lines | Small structured log lines (4 KiB) | best | decompress-rust_stream | 4270 | 4270 |
| small-4k-log-lines | Small structured log lines (4 KiB) | better | compress | 4270 | 4245 |
| small-4k-log-lines | Small structured log lines (4 KiB) | better | decompress-c_stream | 4245 | 4245 |
| small-4k-log-lines | Small structured log lines (4 KiB) | better | decompress-rust_stream | 4270 | 4270 |
| small-4k-log-lines | Small structured log lines (4 KiB) | default | compress | 4273 | 4247 |
| small-4k-log-lines | Small structured log lines (4 KiB) | default | decompress-c_stream | 4247 | 4247 |
| small-4k-log-lines | Small structured log lines (4 KiB) | default | decompress-rust_stream | 4273 | 4273 |
| small-4k-log-lines | Small structured log lines (4 KiB) | fastest | compress | 4274 | 4252 |
| small-4k-log-lines | Small structured log lines (4 KiB) | fastest | decompress-c_stream | 4252 | 4252 |
| small-4k-log-lines | Small structured log lines (4 KiB) | fastest | decompress-rust_stream | 4274 | 4274 |

## Dictionary Compression (C FFI)

| Scenario | Label | Level | Dict bytes | Train ms | C bytes (no dict) | C bytes (with dict) | C ratio (no dict) | C ratio (with dict) |
| --- | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: |
| _n/a_ | _no dictionary rows emitted in this run_ | - | - | - | - | - | - | - |

## Dictionary Training (Rust FastCOVER vs C FFI)

| Scenario | Label | Dict bytes (requested) | Rust train ms | C train ms | Rust dict bytes | C dict bytes | Rust FastCOVER score | Delta (C/Rust) | Status |
| --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | --- |
| _n/a_ | _no dictionary training rows emitted in this run_ | - | - | - | - | - | - | - | - |

## Timing Metrics

| Benchmark | ms/iter |
| --- | ---: |
| `compress/best/decodecorpus-z000033/matrix/c_ffi` | 17.549 |
| `compress/best/decodecorpus-z000033/matrix/pure_rust` | 60.390 |
| `compress/best/high-entropy-1m/matrix/c_ffi` | 0.810 |
| `compress/best/high-entropy-1m/matrix/pure_rust` | 55.765 |
| `compress/best/large-log-stream/matrix/c_ffi` | 10.513 |
| `compress/best/large-log-stream/matrix/pure_rust` | 88.839 |
| `compress/best/low-entropy-1m/matrix/c_ffi` | 1.122 |
| `compress/best/low-entropy-1m/matrix/pure_rust` | 5.089 |
| `compress/best/small-10k-random/matrix/c_ffi` | 0.379 |
| `compress/best/small-10k-random/matrix/pure_rust` | 0.680 |
| `compress/best/small-1k-random/matrix/c_ffi` | 0.279 |
| `compress/best/small-1k-random/matrix/pure_rust` | 0.247 |
| `compress/best/small-4k-log-lines/matrix/c_ffi` | 0.272 |
| `compress/best/small-4k-log-lines/matrix/pure_rust` | 0.252 |
| `compress/better/decodecorpus-z000033/matrix/c_ffi` | 12.220 |
| `compress/better/decodecorpus-z000033/matrix/pure_rust` | 55.864 |
| `compress/better/high-entropy-1m/matrix/c_ffi` | 0.580 |
| `compress/better/high-entropy-1m/matrix/pure_rust` | 66.365 |
| `compress/better/large-log-stream/matrix/c_ffi` | 10.576 |
| `compress/better/large-log-stream/matrix/pure_rust` | 77.724 |
| `compress/better/low-entropy-1m/matrix/c_ffi` | 0.583 |
| `compress/better/low-entropy-1m/matrix/pure_rust` | 5.029 |
| `compress/better/small-10k-random/matrix/c_ffi` | 0.116 |
| `compress/better/small-10k-random/matrix/pure_rust` | 0.570 |
| `compress/better/small-1k-random/matrix/c_ffi` | 0.092 |
| `compress/better/small-1k-random/matrix/pure_rust` | 0.153 |
| `compress/better/small-4k-log-lines/matrix/c_ffi` | 0.097 |
| `compress/better/small-4k-log-lines/matrix/pure_rust` | 0.123 |
| `compress/default/decodecorpus-z000033/matrix/c_ffi` | 4.695 |
| `compress/default/decodecorpus-z000033/matrix/pure_rust` | 94.752 |
| `compress/default/high-entropy-1m/matrix/c_ffi` | 0.274 |
| `compress/default/high-entropy-1m/matrix/pure_rust` | 164.931 |
| `compress/default/large-log-stream/matrix/c_ffi` | 3.312 |
| `compress/default/large-log-stream/matrix/pure_rust` | 107.558 |
| `compress/default/low-entropy-1m/matrix/c_ffi` | 0.221 |
| `compress/default/low-entropy-1m/matrix/pure_rust` | 10.013 |
| `compress/default/small-10k-random/matrix/c_ffi` | 0.025 |
| `compress/default/small-10k-random/matrix/pure_rust` | 6.439 |
| `compress/default/small-1k-random/matrix/c_ffi` | 0.020 |
| `compress/default/small-1k-random/matrix/pure_rust` | 5.374 |
| `compress/default/small-4k-log-lines/matrix/c_ffi` | 0.021 |
| `compress/default/small-4k-log-lines/matrix/pure_rust` | 4.869 |
| `compress/fastest/decodecorpus-z000033/matrix/c_ffi` | 2.672 |
| `compress/fastest/decodecorpus-z000033/matrix/pure_rust` | 16.559 |
| `compress/fastest/high-entropy-1m/matrix/c_ffi` | 0.246 |
| `compress/fastest/high-entropy-1m/matrix/pure_rust` | 23.285 |
| `compress/fastest/large-log-stream/matrix/c_ffi` | 2.639 |
| `compress/fastest/large-log-stream/matrix/pure_rust` | 22.090 |
| `compress/fastest/low-entropy-1m/matrix/c_ffi` | 0.148 |
| `compress/fastest/low-entropy-1m/matrix/pure_rust` | 1.299 |
| `compress/fastest/small-10k-random/matrix/c_ffi` | 0.009 |
| `compress/fastest/small-10k-random/matrix/pure_rust` | 0.207 |
| `compress/fastest/small-1k-random/matrix/c_ffi` | 0.005 |
| `compress/fastest/small-1k-random/matrix/pure_rust` | 0.024 |
| `compress/fastest/small-4k-log-lines/matrix/c_ffi` | 0.007 |
| `compress/fastest/small-4k-log-lines/matrix/pure_rust` | 0.026 |
| `decompress/best/decodecorpus-z000033/c_stream/matrix/c_ffi` | 1.005 |
| `decompress/best/decodecorpus-z000033/c_stream/matrix/pure_rust` | 4.594 |
| `decompress/best/decodecorpus-z000033/rust_stream/matrix/c_ffi` | 0.615 |
| `decompress/best/decodecorpus-z000033/rust_stream/matrix/pure_rust` | 2.334 |
| `decompress/best/high-entropy-1m/c_stream/matrix/c_ffi` | 0.174 |
| `decompress/best/high-entropy-1m/c_stream/matrix/pure_rust` | 0.185 |
| `decompress/best/high-entropy-1m/rust_stream/matrix/c_ffi` | 0.120 |
| `decompress/best/high-entropy-1m/rust_stream/matrix/pure_rust` | 0.185 |
| `decompress/best/large-log-stream/c_stream/matrix/c_ffi` | 0.674 |
| `decompress/best/large-log-stream/c_stream/matrix/pure_rust` | 3.302 |
| `decompress/best/large-log-stream/rust_stream/matrix/c_ffi` | 1.898 |
| `decompress/best/large-log-stream/rust_stream/matrix/pure_rust` | 2.996 |
| `decompress/best/low-entropy-1m/c_stream/matrix/c_ffi` | 0.188 |
| `decompress/best/low-entropy-1m/c_stream/matrix/pure_rust` | 0.326 |
| `decompress/best/low-entropy-1m/rust_stream/matrix/c_ffi` | 0.237 |
| `decompress/best/low-entropy-1m/rust_stream/matrix/pure_rust` | 0.307 |
| `decompress/best/small-10k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/best/small-10k-random/c_stream/matrix/pure_rust` | 0.003 |
| `decompress/best/small-10k-random/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/best/small-10k-random/rust_stream/matrix/pure_rust` | 0.005 |
| `decompress/best/small-1k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/best/small-1k-random/c_stream/matrix/pure_rust` | 0.002 |
| `decompress/best/small-1k-random/rust_stream/matrix/c_ffi` | 0.000 |
| `decompress/best/small-1k-random/rust_stream/matrix/pure_rust` | 0.000 |
| `decompress/best/small-4k-log-lines/c_stream/matrix/c_ffi` | 0.002 |
| `decompress/best/small-4k-log-lines/c_stream/matrix/pure_rust` | 0.005 |
| `decompress/best/small-4k-log-lines/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/best/small-4k-log-lines/rust_stream/matrix/pure_rust` | 0.003 |
| `decompress/better/decodecorpus-z000033/c_stream/matrix/c_ffi` | 1.034 |
| `decompress/better/decodecorpus-z000033/c_stream/matrix/pure_rust` | 4.651 |
| `decompress/better/decodecorpus-z000033/rust_stream/matrix/c_ffi` | 0.628 |
| `decompress/better/decodecorpus-z000033/rust_stream/matrix/pure_rust` | 2.345 |
| `decompress/better/high-entropy-1m/c_stream/matrix/c_ffi` | 0.038 |
| `decompress/better/high-entropy-1m/c_stream/matrix/pure_rust` | 0.185 |
| `decompress/better/high-entropy-1m/rust_stream/matrix/c_ffi` | 0.120 |
| `decompress/better/high-entropy-1m/rust_stream/matrix/pure_rust` | 0.185 |
| `decompress/better/large-log-stream/c_stream/matrix/c_ffi` | 0.662 |
| `decompress/better/large-log-stream/c_stream/matrix/pure_rust` | 2.976 |
| `decompress/better/large-log-stream/rust_stream/matrix/c_ffi` | 1.903 |
| `decompress/better/large-log-stream/rust_stream/matrix/pure_rust` | 2.991 |
| `decompress/better/low-entropy-1m/c_stream/matrix/c_ffi` | 0.188 |
| `decompress/better/low-entropy-1m/c_stream/matrix/pure_rust` | 0.318 |
| `decompress/better/low-entropy-1m/rust_stream/matrix/c_ffi` | 0.237 |
| `decompress/better/low-entropy-1m/rust_stream/matrix/pure_rust` | 0.317 |
| `decompress/better/small-10k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/better/small-10k-random/c_stream/matrix/pure_rust` | 0.003 |
| `decompress/better/small-10k-random/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/better/small-10k-random/rust_stream/matrix/pure_rust` | 0.005 |
| `decompress/better/small-1k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/better/small-1k-random/c_stream/matrix/pure_rust` | 0.002 |
| `decompress/better/small-1k-random/rust_stream/matrix/c_ffi` | 0.000 |
| `decompress/better/small-1k-random/rust_stream/matrix/pure_rust` | 0.000 |
| `decompress/better/small-4k-log-lines/c_stream/matrix/c_ffi` | 0.002 |
| `decompress/better/small-4k-log-lines/c_stream/matrix/pure_rust` | 0.005 |
| `decompress/better/small-4k-log-lines/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/better/small-4k-log-lines/rust_stream/matrix/pure_rust` | 0.003 |
| `decompress/default/decodecorpus-z000033/c_stream/matrix/c_ffi` | 1.070 |
| `decompress/default/decodecorpus-z000033/c_stream/matrix/pure_rust` | 4.776 |
| `decompress/default/decodecorpus-z000033/rust_stream/matrix/c_ffi` | 0.500 |
| `decompress/default/decodecorpus-z000033/rust_stream/matrix/pure_rust` | 1.760 |
| `decompress/default/high-entropy-1m/c_stream/matrix/c_ffi` | 0.038 |
| `decompress/default/high-entropy-1m/c_stream/matrix/pure_rust` | 0.185 |
| `decompress/default/high-entropy-1m/rust_stream/matrix/c_ffi` | 0.120 |
| `decompress/default/high-entropy-1m/rust_stream/matrix/pure_rust` | 0.185 |
| `decompress/default/large-log-stream/c_stream/matrix/c_ffi` | 0.666 |
| `decompress/default/large-log-stream/c_stream/matrix/pure_rust` | 2.991 |
| `decompress/default/large-log-stream/rust_stream/matrix/c_ffi` | 1.924 |
| `decompress/default/large-log-stream/rust_stream/matrix/pure_rust` | 2.845 |
| `decompress/default/low-entropy-1m/c_stream/matrix/c_ffi` | 0.188 |
| `decompress/default/low-entropy-1m/c_stream/matrix/pure_rust` | 0.328 |
| `decompress/default/low-entropy-1m/rust_stream/matrix/c_ffi` | 0.237 |
| `decompress/default/low-entropy-1m/rust_stream/matrix/pure_rust` | 0.317 |
| `decompress/default/small-10k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/default/small-10k-random/c_stream/matrix/pure_rust` | 0.003 |
| `decompress/default/small-10k-random/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/default/small-10k-random/rust_stream/matrix/pure_rust` | 0.005 |
| `decompress/default/small-1k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/default/small-1k-random/c_stream/matrix/pure_rust` | 0.002 |
| `decompress/default/small-1k-random/rust_stream/matrix/c_ffi` | 0.000 |
| `decompress/default/small-1k-random/rust_stream/matrix/pure_rust` | 0.000 |
| `decompress/default/small-4k-log-lines/c_stream/matrix/c_ffi` | 0.002 |
| `decompress/default/small-4k-log-lines/c_stream/matrix/pure_rust` | 0.005 |
| `decompress/default/small-4k-log-lines/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/default/small-4k-log-lines/rust_stream/matrix/pure_rust` | 0.003 |
| `decompress/fastest/decodecorpus-z000033/c_stream/matrix/c_ffi` | 0.983 |
| `decompress/fastest/decodecorpus-z000033/c_stream/matrix/pure_rust` | 4.551 |
| `decompress/fastest/decodecorpus-z000033/rust_stream/matrix/c_ffi` | 0.610 |
| `decompress/fastest/decodecorpus-z000033/rust_stream/matrix/pure_rust` | 2.304 |
| `decompress/fastest/high-entropy-1m/c_stream/matrix/c_ffi` | 0.038 |
| `decompress/fastest/high-entropy-1m/c_stream/matrix/pure_rust` | 0.186 |
| `decompress/fastest/high-entropy-1m/rust_stream/matrix/c_ffi` | 0.120 |
| `decompress/fastest/high-entropy-1m/rust_stream/matrix/pure_rust` | 0.185 |
| `decompress/fastest/large-log-stream/c_stream/matrix/c_ffi` | 0.662 |
| `decompress/fastest/large-log-stream/c_stream/matrix/pure_rust` | 3.043 |
| `decompress/fastest/large-log-stream/rust_stream/matrix/c_ffi` | 2.011 |
| `decompress/fastest/large-log-stream/rust_stream/matrix/pure_rust` | 2.875 |
| `decompress/fastest/low-entropy-1m/c_stream/matrix/c_ffi` | 0.187 |
| `decompress/fastest/low-entropy-1m/c_stream/matrix/pure_rust` | 0.326 |
| `decompress/fastest/low-entropy-1m/rust_stream/matrix/c_ffi` | 0.270 |
| `decompress/fastest/low-entropy-1m/rust_stream/matrix/pure_rust` | 0.318 |
| `decompress/fastest/small-10k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/fastest/small-10k-random/c_stream/matrix/pure_rust` | 0.003 |
| `decompress/fastest/small-10k-random/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/fastest/small-10k-random/rust_stream/matrix/pure_rust` | 0.002 |
| `decompress/fastest/small-1k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/fastest/small-1k-random/c_stream/matrix/pure_rust` | 0.002 |
| `decompress/fastest/small-1k-random/rust_stream/matrix/c_ffi` | 0.000 |
| `decompress/fastest/small-1k-random/rust_stream/matrix/pure_rust` | 0.000 |
| `decompress/fastest/small-4k-log-lines/c_stream/matrix/c_ffi` | 0.002 |
| `decompress/fastest/small-4k-log-lines/c_stream/matrix/pure_rust` | 0.005 |
| `decompress/fastest/small-4k-log-lines/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/fastest/small-4k-log-lines/rust_stream/matrix/pure_rust` | 0.003 |

## Target `x86_64-musl`

Generated by `.github/scripts/run-benchmarks.sh` from `cargo bench --bench compare_ffi`.

## Compression Ratios

| Scenario | Label | Level | Input bytes | Rust bytes | C bytes | Rust ratio | C ratio |
| --- | --- | --- | ---: | ---: | ---: | ---: | ---: |
| decodecorpus-z000033 | Repo decode corpus sample | best | 1022035 | 540157 | 509317 | 0.5285 | 0.4983 |
| decodecorpus-z000033 | Repo decode corpus sample | better | 1022035 | 541596 | 510030 | 0.5299 | 0.4990 |
| decodecorpus-z000033 | Repo decode corpus sample | default | 1022035 | 578146 | 527141 | 0.5657 | 0.5158 |
| decodecorpus-z000033 | Repo decode corpus sample | fastest | 1022035 | 608363 | 570499 | 0.5952 | 0.5582 |
| high-entropy-1m | High entropy random payload (1 MiB) | best | 1048576 | 1048617 | 1048609 | 1.0000 | 1.0000 |
| high-entropy-1m | High entropy random payload (1 MiB) | better | 1048576 | 1048617 | 1048609 | 1.0000 | 1.0000 |
| high-entropy-1m | High entropy random payload (1 MiB) | default | 1048576 | 1048617 | 1048609 | 1.0000 | 1.0000 |
| high-entropy-1m | High entropy random payload (1 MiB) | fastest | 1048576 | 1048617 | 1048609 | 1.0000 | 1.0000 |
| large-log-stream | Large structured stream | best | 16777216 | 1832 | 3077 | 0.0001 | 0.0002 |
| large-log-stream | Large structured stream | better | 16777216 | 1834 | 1684 | 0.0001 | 0.0001 |
| large-log-stream | Large structured stream | default | 16777216 | 1836 | 1679 | 0.0001 | 0.0001 |
| large-log-stream | Large structured stream | fastest | 16777216 | 21233 | 1683 | 0.0013 | 0.0001 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | best | 1048576 | 171 | 155 | 0.0002 | 0.0001 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | better | 1048576 | 171 | 155 | 0.0002 | 0.0001 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | default | 1048576 | 171 | 155 | 0.0002 | 0.0001 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | fastest | 1048576 | 514 | 155 | 0.0005 | 0.0001 |
| small-10k-random | Small random payload (10 KiB) | best | 10240 | 10259 | 10249 | 1.0019 | 1.0009 |
| small-10k-random | Small random payload (10 KiB) | better | 10240 | 10259 | 10249 | 1.0019 | 1.0009 |
| small-10k-random | Small random payload (10 KiB) | default | 10240 | 10259 | 10249 | 1.0019 | 1.0009 |
| small-10k-random | Small random payload (10 KiB) | fastest | 10240 | 10259 | 10249 | 1.0019 | 1.0009 |
| small-1k-random | Small random payload (1 KiB) | best | 1024 | 1043 | 1033 | 1.0186 | 1.0088 |
| small-1k-random | Small random payload (1 KiB) | better | 1024 | 1043 | 1033 | 1.0186 | 1.0088 |
| small-1k-random | Small random payload (1 KiB) | default | 1024 | 1043 | 1033 | 1.0186 | 1.0088 |
| small-1k-random | Small random payload (1 KiB) | fastest | 1024 | 1043 | 1033 | 1.0186 | 1.0088 |
| small-4k-log-lines | Small structured log lines (4 KiB) | best | 4096 | 174 | 149 | 0.0425 | 0.0364 |
| small-4k-log-lines | Small structured log lines (4 KiB) | better | 4096 | 174 | 149 | 0.0425 | 0.0364 |
| small-4k-log-lines | Small structured log lines (4 KiB) | default | 4096 | 177 | 151 | 0.0432 | 0.0369 |
| small-4k-log-lines | Small structured log lines (4 KiB) | fastest | 4096 | 178 | 156 | 0.0435 | 0.0381 |

## Buffer Size Estimates (Input + Output)

| Scenario | Label | Level | Stage | Rust buffer bytes (estimate) | C buffer bytes (estimate) |
| --- | --- | --- | --- | ---: | ---: |
| decodecorpus-z000033 | Repo decode corpus sample | best | compress | 1562192 | 1531352 |
| decodecorpus-z000033 | Repo decode corpus sample | best | decompress-c_stream | 1531352 | 1531352 |
| decodecorpus-z000033 | Repo decode corpus sample | best | decompress-rust_stream | 1562192 | 1562192 |
| decodecorpus-z000033 | Repo decode corpus sample | better | compress | 1563631 | 1532065 |
| decodecorpus-z000033 | Repo decode corpus sample | better | decompress-c_stream | 1532065 | 1532065 |
| decodecorpus-z000033 | Repo decode corpus sample | better | decompress-rust_stream | 1563631 | 1563631 |
| decodecorpus-z000033 | Repo decode corpus sample | default | compress | 1600181 | 1549176 |
| decodecorpus-z000033 | Repo decode corpus sample | default | decompress-c_stream | 1549176 | 1549176 |
| decodecorpus-z000033 | Repo decode corpus sample | default | decompress-rust_stream | 1600181 | 1600181 |
| decodecorpus-z000033 | Repo decode corpus sample | fastest | compress | 1630398 | 1592534 |
| decodecorpus-z000033 | Repo decode corpus sample | fastest | decompress-c_stream | 1592534 | 1592534 |
| decodecorpus-z000033 | Repo decode corpus sample | fastest | decompress-rust_stream | 1630398 | 1630398 |
| high-entropy-1m | High entropy random payload (1 MiB) | best | compress | 2097193 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | best | decompress-c_stream | 2097185 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | best | decompress-rust_stream | 2097193 | 2097193 |
| high-entropy-1m | High entropy random payload (1 MiB) | better | compress | 2097193 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | better | decompress-c_stream | 2097185 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | better | decompress-rust_stream | 2097193 | 2097193 |
| high-entropy-1m | High entropy random payload (1 MiB) | default | compress | 2097193 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | default | decompress-c_stream | 2097185 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | default | decompress-rust_stream | 2097193 | 2097193 |
| high-entropy-1m | High entropy random payload (1 MiB) | fastest | compress | 2097193 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | fastest | decompress-c_stream | 2097185 | 2097185 |
| high-entropy-1m | High entropy random payload (1 MiB) | fastest | decompress-rust_stream | 2097193 | 2097193 |
| large-log-stream | Large structured stream | best | compress | 16779048 | 16780293 |
| large-log-stream | Large structured stream | best | decompress-c_stream | 16780293 | 16780293 |
| large-log-stream | Large structured stream | best | decompress-rust_stream | 16779048 | 16779048 |
| large-log-stream | Large structured stream | better | compress | 16779050 | 16778900 |
| large-log-stream | Large structured stream | better | decompress-c_stream | 16778900 | 16778900 |
| large-log-stream | Large structured stream | better | decompress-rust_stream | 16779050 | 16779050 |
| large-log-stream | Large structured stream | default | compress | 16779052 | 16778895 |
| large-log-stream | Large structured stream | default | decompress-c_stream | 16778895 | 16778895 |
| large-log-stream | Large structured stream | default | decompress-rust_stream | 16779052 | 16779052 |
| large-log-stream | Large structured stream | fastest | compress | 16798449 | 16778899 |
| large-log-stream | Large structured stream | fastest | decompress-c_stream | 16778899 | 16778899 |
| large-log-stream | Large structured stream | fastest | decompress-rust_stream | 16798449 | 16798449 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | best | compress | 1048747 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | best | decompress-c_stream | 1048731 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | best | decompress-rust_stream | 1048747 | 1048747 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | better | compress | 1048747 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | better | decompress-c_stream | 1048731 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | better | decompress-rust_stream | 1048747 | 1048747 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | default | compress | 1048747 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | default | decompress-c_stream | 1048731 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | default | decompress-rust_stream | 1048747 | 1048747 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | fastest | compress | 1049090 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | fastest | decompress-c_stream | 1048731 | 1048731 |
| low-entropy-1m | Low entropy patterned payload (1 MiB) | fastest | decompress-rust_stream | 1049090 | 1049090 |
| small-10k-random | Small random payload (10 KiB) | best | compress | 20499 | 20489 |
| small-10k-random | Small random payload (10 KiB) | best | decompress-c_stream | 20489 | 20489 |
| small-10k-random | Small random payload (10 KiB) | best | decompress-rust_stream | 20499 | 20499 |
| small-10k-random | Small random payload (10 KiB) | better | compress | 20499 | 20489 |
| small-10k-random | Small random payload (10 KiB) | better | decompress-c_stream | 20489 | 20489 |
| small-10k-random | Small random payload (10 KiB) | better | decompress-rust_stream | 20499 | 20499 |
| small-10k-random | Small random payload (10 KiB) | default | compress | 20499 | 20489 |
| small-10k-random | Small random payload (10 KiB) | default | decompress-c_stream | 20489 | 20489 |
| small-10k-random | Small random payload (10 KiB) | default | decompress-rust_stream | 20499 | 20499 |
| small-10k-random | Small random payload (10 KiB) | fastest | compress | 20499 | 20489 |
| small-10k-random | Small random payload (10 KiB) | fastest | decompress-c_stream | 20489 | 20489 |
| small-10k-random | Small random payload (10 KiB) | fastest | decompress-rust_stream | 20499 | 20499 |
| small-1k-random | Small random payload (1 KiB) | best | compress | 2067 | 2057 |
| small-1k-random | Small random payload (1 KiB) | best | decompress-c_stream | 2057 | 2057 |
| small-1k-random | Small random payload (1 KiB) | best | decompress-rust_stream | 2067 | 2067 |
| small-1k-random | Small random payload (1 KiB) | better | compress | 2067 | 2057 |
| small-1k-random | Small random payload (1 KiB) | better | decompress-c_stream | 2057 | 2057 |
| small-1k-random | Small random payload (1 KiB) | better | decompress-rust_stream | 2067 | 2067 |
| small-1k-random | Small random payload (1 KiB) | default | compress | 2067 | 2057 |
| small-1k-random | Small random payload (1 KiB) | default | decompress-c_stream | 2057 | 2057 |
| small-1k-random | Small random payload (1 KiB) | default | decompress-rust_stream | 2067 | 2067 |
| small-1k-random | Small random payload (1 KiB) | fastest | compress | 2067 | 2057 |
| small-1k-random | Small random payload (1 KiB) | fastest | decompress-c_stream | 2057 | 2057 |
| small-1k-random | Small random payload (1 KiB) | fastest | decompress-rust_stream | 2067 | 2067 |
| small-4k-log-lines | Small structured log lines (4 KiB) | best | compress | 4270 | 4245 |
| small-4k-log-lines | Small structured log lines (4 KiB) | best | decompress-c_stream | 4245 | 4245 |
| small-4k-log-lines | Small structured log lines (4 KiB) | best | decompress-rust_stream | 4270 | 4270 |
| small-4k-log-lines | Small structured log lines (4 KiB) | better | compress | 4270 | 4245 |
| small-4k-log-lines | Small structured log lines (4 KiB) | better | decompress-c_stream | 4245 | 4245 |
| small-4k-log-lines | Small structured log lines (4 KiB) | better | decompress-rust_stream | 4270 | 4270 |
| small-4k-log-lines | Small structured log lines (4 KiB) | default | compress | 4273 | 4247 |
| small-4k-log-lines | Small structured log lines (4 KiB) | default | decompress-c_stream | 4247 | 4247 |
| small-4k-log-lines | Small structured log lines (4 KiB) | default | decompress-rust_stream | 4273 | 4273 |
| small-4k-log-lines | Small structured log lines (4 KiB) | fastest | compress | 4274 | 4252 |
| small-4k-log-lines | Small structured log lines (4 KiB) | fastest | decompress-c_stream | 4252 | 4252 |
| small-4k-log-lines | Small structured log lines (4 KiB) | fastest | decompress-rust_stream | 4274 | 4274 |

## Dictionary Compression (C FFI)

| Scenario | Label | Level | Dict bytes | Train ms | C bytes (no dict) | C bytes (with dict) | C ratio (no dict) | C ratio (with dict) |
| --- | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: |
| _n/a_ | _no dictionary rows emitted in this run_ | - | - | - | - | - | - | - |

## Dictionary Training (Rust FastCOVER vs C FFI)

| Scenario | Label | Dict bytes (requested) | Rust train ms | C train ms | Rust dict bytes | C dict bytes | Rust FastCOVER score | Delta (C/Rust) | Status |
| --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | --- |
| _n/a_ | _no dictionary training rows emitted in this run_ | - | - | - | - | - | - | - | - |

## Timing Metrics

| Benchmark | ms/iter |
| --- | ---: |
| `compress/best/decodecorpus-z000033/matrix/c_ffi` | 28.796 |
| `compress/best/decodecorpus-z000033/matrix/pure_rust` | 120.837 |
| `compress/best/high-entropy-1m/matrix/c_ffi` | 5.171 |
| `compress/best/high-entropy-1m/matrix/pure_rust` | 209.754 |
| `compress/best/large-log-stream/matrix/c_ffi` | 14.553 |
| `compress/best/large-log-stream/matrix/pure_rust` | 76.752 |
| `compress/best/low-entropy-1m/matrix/c_ffi` | 3.893 |
| `compress/best/low-entropy-1m/matrix/pure_rust` | 6.728 |
| `compress/best/small-10k-random/matrix/c_ffi` | 2.848 |
| `compress/best/small-10k-random/matrix/pure_rust` | 3.477 |
| `compress/best/small-1k-random/matrix/c_ffi` | 2.612 |
| `compress/best/small-1k-random/matrix/pure_rust` | 1.263 |
| `compress/best/small-4k-log-lines/matrix/c_ffi` | 2.716 |
| `compress/best/small-4k-log-lines/matrix/pure_rust` | 0.490 |
| `compress/better/decodecorpus-z000033/matrix/c_ffi` | 15.584 |
| `compress/better/decodecorpus-z000033/matrix/pure_rust` | 119.647 |
| `compress/better/high-entropy-1m/matrix/c_ffi` | 3.713 |
| `compress/better/high-entropy-1m/matrix/pure_rust` | 220.546 |
| `compress/better/large-log-stream/matrix/c_ffi` | 12.190 |
| `compress/better/large-log-stream/matrix/pure_rust` | 71.623 |
| `compress/better/low-entropy-1m/matrix/c_ffi` | 2.380 |
| `compress/better/low-entropy-1m/matrix/pure_rust` | 6.392 |
| `compress/better/small-10k-random/matrix/c_ffi` | 1.738 |
| `compress/better/small-10k-random/matrix/pure_rust` | 3.237 |
| `compress/better/small-1k-random/matrix/c_ffi` | 1.687 |
| `compress/better/small-1k-random/matrix/pure_rust` | 1.705 |
| `compress/better/small-4k-log-lines/matrix/c_ffi` | 1.687 |
| `compress/better/small-4k-log-lines/matrix/pure_rust` | 0.557 |
| `compress/default/decodecorpus-z000033/matrix/c_ffi` | 6.417 |
| `compress/default/decodecorpus-z000033/matrix/pure_rust` | 139.325 |
| `compress/default/high-entropy-1m/matrix/c_ffi` | 2.275 |
| `compress/default/high-entropy-1m/matrix/pure_rust` | 237.344 |
| `compress/default/large-log-stream/matrix/c_ffi` | 5.295 |
| `compress/default/large-log-stream/matrix/pure_rust` | 111.499 |
| `compress/default/low-entropy-1m/matrix/c_ffi` | 1.187 |
| `compress/default/low-entropy-1m/matrix/pure_rust` | 13.334 |
| `compress/default/small-10k-random/matrix/c_ffi` | 0.470 |
| `compress/default/small-10k-random/matrix/pure_rust` | 8.075 |
| `compress/default/small-1k-random/matrix/c_ffi` | 0.448 |
| `compress/default/small-1k-random/matrix/pure_rust` | 6.432 |
| `compress/default/small-4k-log-lines/matrix/c_ffi` | 0.455 |
| `compress/default/small-4k-log-lines/matrix/pure_rust` | 6.418 |
| `compress/fastest/decodecorpus-z000033/matrix/c_ffi` | 3.895 |
| `compress/fastest/decodecorpus-z000033/matrix/pure_rust` | 27.415 |
| `compress/fastest/high-entropy-1m/matrix/c_ffi` | 1.531 |
| `compress/fastest/high-entropy-1m/matrix/pure_rust` | 34.187 |
| `compress/fastest/large-log-stream/matrix/c_ffi` | 3.353 |
| `compress/fastest/large-log-stream/matrix/pure_rust` | 28.438 |
| `compress/fastest/low-entropy-1m/matrix/c_ffi` | 0.590 |
| `compress/fastest/low-entropy-1m/matrix/pure_rust` | 2.904 |
| `compress/fastest/small-10k-random/matrix/c_ffi` | 0.098 |
| `compress/fastest/small-10k-random/matrix/pure_rust` | 0.389 |
| `compress/fastest/small-1k-random/matrix/c_ffi` | 0.079 |
| `compress/fastest/small-1k-random/matrix/pure_rust` | 0.122 |
| `compress/fastest/small-4k-log-lines/matrix/c_ffi` | 0.087 |
| `compress/fastest/small-4k-log-lines/matrix/pure_rust` | 0.184 |
| `decompress/best/decodecorpus-z000033/c_stream/matrix/c_ffi` | 0.931 |
| `decompress/best/decodecorpus-z000033/c_stream/matrix/pure_rust` | 6.304 |
| `decompress/best/decodecorpus-z000033/rust_stream/matrix/c_ffi` | 0.609 |
| `decompress/best/decodecorpus-z000033/rust_stream/matrix/pure_rust` | 4.006 |
| `decompress/best/high-entropy-1m/c_stream/matrix/c_ffi` | 0.030 |
| `decompress/best/high-entropy-1m/c_stream/matrix/pure_rust` | 0.199 |
| `decompress/best/high-entropy-1m/rust_stream/matrix/c_ffi` | 0.124 |
| `decompress/best/high-entropy-1m/rust_stream/matrix/pure_rust` | 0.199 |
| `decompress/best/large-log-stream/c_stream/matrix/c_ffi` | 0.588 |
| `decompress/best/large-log-stream/c_stream/matrix/pure_rust` | 4.351 |
| `decompress/best/large-log-stream/rust_stream/matrix/c_ffi` | 1.984 |
| `decompress/best/large-log-stream/rust_stream/matrix/pure_rust` | 3.692 |
| `decompress/best/low-entropy-1m/c_stream/matrix/c_ffi` | 0.167 |
| `decompress/best/low-entropy-1m/c_stream/matrix/pure_rust` | 0.576 |
| `decompress/best/low-entropy-1m/rust_stream/matrix/c_ffi` | 0.266 |
| `decompress/best/low-entropy-1m/rust_stream/matrix/pure_rust` | 0.562 |
| `decompress/best/small-10k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/best/small-10k-random/c_stream/matrix/pure_rust` | 0.003 |
| `decompress/best/small-10k-random/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/best/small-10k-random/rust_stream/matrix/pure_rust` | 0.002 |
| `decompress/best/small-1k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/best/small-1k-random/c_stream/matrix/pure_rust` | 0.002 |
| `decompress/best/small-1k-random/rust_stream/matrix/c_ffi` | 0.000 |
| `decompress/best/small-1k-random/rust_stream/matrix/pure_rust` | 0.000 |
| `decompress/best/small-4k-log-lines/c_stream/matrix/c_ffi` | 0.002 |
| `decompress/best/small-4k-log-lines/c_stream/matrix/pure_rust` | 0.005 |
| `decompress/best/small-4k-log-lines/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/best/small-4k-log-lines/rust_stream/matrix/pure_rust` | 0.003 |
| `decompress/better/decodecorpus-z000033/c_stream/matrix/c_ffi` | 0.959 |
| `decompress/better/decodecorpus-z000033/c_stream/matrix/pure_rust` | 6.453 |
| `decompress/better/decodecorpus-z000033/rust_stream/matrix/c_ffi` | 0.616 |
| `decompress/better/decodecorpus-z000033/rust_stream/matrix/pure_rust` | 4.111 |
| `decompress/better/high-entropy-1m/c_stream/matrix/c_ffi` | 0.031 |
| `decompress/better/high-entropy-1m/c_stream/matrix/pure_rust` | 0.198 |
| `decompress/better/high-entropy-1m/rust_stream/matrix/c_ffi` | 0.123 |
| `decompress/better/high-entropy-1m/rust_stream/matrix/pure_rust` | 0.198 |
| `decompress/better/large-log-stream/c_stream/matrix/c_ffi` | 0.575 |
| `decompress/better/large-log-stream/c_stream/matrix/pure_rust` | 4.037 |
| `decompress/better/large-log-stream/rust_stream/matrix/c_ffi` | 1.999 |
| `decompress/better/large-log-stream/rust_stream/matrix/pure_rust` | 3.852 |
| `decompress/better/low-entropy-1m/c_stream/matrix/c_ffi` | 0.167 |
| `decompress/better/low-entropy-1m/c_stream/matrix/pure_rust` | 0.576 |
| `decompress/better/low-entropy-1m/rust_stream/matrix/c_ffi` | 0.265 |
| `decompress/better/low-entropy-1m/rust_stream/matrix/pure_rust` | 0.562 |
| `decompress/better/small-10k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/better/small-10k-random/c_stream/matrix/pure_rust` | 0.003 |
| `decompress/better/small-10k-random/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/better/small-10k-random/rust_stream/matrix/pure_rust` | 0.002 |
| `decompress/better/small-1k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/better/small-1k-random/c_stream/matrix/pure_rust` | 0.002 |
| `decompress/better/small-1k-random/rust_stream/matrix/c_ffi` | 0.000 |
| `decompress/better/small-1k-random/rust_stream/matrix/pure_rust` | 0.000 |
| `decompress/better/small-4k-log-lines/c_stream/matrix/c_ffi` | 0.002 |
| `decompress/better/small-4k-log-lines/c_stream/matrix/pure_rust` | 0.005 |
| `decompress/better/small-4k-log-lines/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/better/small-4k-log-lines/rust_stream/matrix/pure_rust` | 0.003 |
| `decompress/default/decodecorpus-z000033/c_stream/matrix/c_ffi` | 1.001 |
| `decompress/default/decodecorpus-z000033/c_stream/matrix/pure_rust` | 6.544 |
| `decompress/default/decodecorpus-z000033/rust_stream/matrix/c_ffi` | 0.468 |
| `decompress/default/decodecorpus-z000033/rust_stream/matrix/pure_rust` | 3.032 |
| `decompress/default/high-entropy-1m/c_stream/matrix/c_ffi` | 0.031 |
| `decompress/default/high-entropy-1m/c_stream/matrix/pure_rust` | 0.198 |
| `decompress/default/high-entropy-1m/rust_stream/matrix/c_ffi` | 0.123 |
| `decompress/default/high-entropy-1m/rust_stream/matrix/pure_rust` | 0.199 |
| `decompress/default/large-log-stream/c_stream/matrix/c_ffi` | 0.592 |
| `decompress/default/large-log-stream/c_stream/matrix/pure_rust` | 4.211 |
| `decompress/default/large-log-stream/rust_stream/matrix/c_ffi` | 2.017 |
| `decompress/default/large-log-stream/rust_stream/matrix/pure_rust` | 3.949 |
| `decompress/default/low-entropy-1m/c_stream/matrix/c_ffi` | 0.168 |
| `decompress/default/low-entropy-1m/c_stream/matrix/pure_rust` | 0.575 |
| `decompress/default/low-entropy-1m/rust_stream/matrix/c_ffi` | 0.265 |
| `decompress/default/low-entropy-1m/rust_stream/matrix/pure_rust` | 0.562 |
| `decompress/default/small-10k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/default/small-10k-random/c_stream/matrix/pure_rust` | 0.003 |
| `decompress/default/small-10k-random/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/default/small-10k-random/rust_stream/matrix/pure_rust` | 0.002 |
| `decompress/default/small-1k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/default/small-1k-random/c_stream/matrix/pure_rust` | 0.002 |
| `decompress/default/small-1k-random/rust_stream/matrix/c_ffi` | 0.000 |
| `decompress/default/small-1k-random/rust_stream/matrix/pure_rust` | 0.000 |
| `decompress/default/small-4k-log-lines/c_stream/matrix/c_ffi` | 0.002 |
| `decompress/default/small-4k-log-lines/c_stream/matrix/pure_rust` | 0.005 |
| `decompress/default/small-4k-log-lines/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/default/small-4k-log-lines/rust_stream/matrix/pure_rust` | 0.003 |
| `decompress/fastest/decodecorpus-z000033/c_stream/matrix/c_ffi` | 0.887 |
| `decompress/fastest/decodecorpus-z000033/c_stream/matrix/pure_rust` | 5.796 |
| `decompress/fastest/decodecorpus-z000033/rust_stream/matrix/c_ffi` | 0.607 |
| `decompress/fastest/decodecorpus-z000033/rust_stream/matrix/pure_rust` | 3.839 |
| `decompress/fastest/high-entropy-1m/c_stream/matrix/c_ffi` | 0.030 |
| `decompress/fastest/high-entropy-1m/c_stream/matrix/pure_rust` | 0.201 |
| `decompress/fastest/high-entropy-1m/rust_stream/matrix/c_ffi` | 0.123 |
| `decompress/fastest/high-entropy-1m/rust_stream/matrix/pure_rust` | 0.199 |
| `decompress/fastest/large-log-stream/c_stream/matrix/c_ffi` | 0.587 |
| `decompress/fastest/large-log-stream/c_stream/matrix/pure_rust` | 4.143 |
| `decompress/fastest/large-log-stream/rust_stream/matrix/c_ffi` | 2.159 |
| `decompress/fastest/large-log-stream/rust_stream/matrix/pure_rust` | 4.000 |
| `decompress/fastest/low-entropy-1m/c_stream/matrix/c_ffi` | 0.167 |
| `decompress/fastest/low-entropy-1m/c_stream/matrix/pure_rust` | 0.578 |
| `decompress/fastest/low-entropy-1m/rust_stream/matrix/c_ffi` | 0.260 |
| `decompress/fastest/low-entropy-1m/rust_stream/matrix/pure_rust` | 0.562 |
| `decompress/fastest/small-10k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/fastest/small-10k-random/c_stream/matrix/pure_rust` | 0.003 |
| `decompress/fastest/small-10k-random/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/fastest/small-10k-random/rust_stream/matrix/pure_rust` | 0.002 |
| `decompress/fastest/small-1k-random/c_stream/matrix/c_ffi` | 0.000 |
| `decompress/fastest/small-1k-random/c_stream/matrix/pure_rust` | 0.002 |
| `decompress/fastest/small-1k-random/rust_stream/matrix/c_ffi` | 0.000 |
| `decompress/fastest/small-1k-random/rust_stream/matrix/pure_rust` | 0.000 |
| `decompress/fastest/small-4k-log-lines/c_stream/matrix/c_ffi` | 0.002 |
| `decompress/fastest/small-4k-log-lines/c_stream/matrix/pure_rust` | 0.005 |
| `decompress/fastest/small-4k-log-lines/rust_stream/matrix/c_ffi` | 0.001 |
| `decompress/fastest/small-4k-log-lines/rust_stream/matrix/pure_rust` | 0.003 |
