Skip to content
About
Main content
Model

Run-length encoding and row order

The order of the rows changes the compression ratio more than the choice among all the encodings.

Rows
rows
Distinct values
distinct values

Trade-off: Precompute vs. compute-on-read

How it behaves

One input on the horizontal axis, the others held fixed.

sortedrandom order
Data table
RLE ratio by distinct values (N = 10⁶ rows)
Distinct values kseriesCompression ratio
2sorted500,000×
2.29sorted437,000×
2.62sorted382,000×
3sorted333,000×
3.44sorted291,000×
3.93sorted254,000×
4.5sorted222,000×
5.15sorted194,000×
5.9sorted169,000×
6.76sorted148,000×
7.73sorted129,000×
8.85sorted113,000×
10.1sorted98,700×
11.6sorted86,200×
13.3sorted75,300×
15.2sorted65,800×
17.4sorted57,400×
19.9sorted50,200×
22.8sorted43,800×
26.1sorted38,300×
29.9sorted33,400×
34.2sorted29,200×
39.2sorted25,500×
44.9sorted22,300×
51.4sorted19,500×
58.8sorted17,000×
67.3sorted14,900×
77.1sorted13,000×
88.2sorted11,300×
101sorted9,900×
116sorted8,650×
132sorted7,550×
152sorted6,600×
174sorted5,760×
199sorted5,030×
227sorted4,400×
260sorted3,840×
298sorted3,360×
341sorted2,930×
391sorted2,560×
447sorted2,240×
512sorted1,950×
586sorted1,710×
671sorted1,490×
768sorted1,300×
879sorted1,140×
1.01Ksorted993×
1.15Ksorted868×
1.32Ksorted758×
1.51Ksorted662×
1.73Ksorted578×
1.98Ksorted505×
2.27Ksorted441×
2.59Ksorted385×
2.97Ksorted337×
3.4Ksorted294×
3.89Ksorted257×
4.46Ksorted224×
5.1Ksorted196×
5.84Ksorted171×
6.69Ksorted150×
7.66Ksorted131×
8.76Ksorted114×
10Ksorted99.7×
11.5Ksorted87.1×
13.2Ksorted76×
15.1Ksorted66.4×
17.2Ksorted58×
19.7Ksorted50.7×
22.6Ksorted44.3×
25.9Ksorted38.7×
29.6Ksorted33.8×
33.9Ksorted29.5×
38.8Ksorted25.8×
44.4Ksorted22.5×
50.9Ksorted19.7×
58.2Ksorted17.2×
66.6Ksorted15×
76.3Ksorted13.1×
87.3Ksorted11.4×
100Ksorted10×
2random order2×
2.29random order1.78×
2.62random order1.62×
3random order1.5×
3.44random order1.41×
3.93random order1.34×
4.5random order1.29×
5.15random order1.24×
5.9random order1.2×
6.76random order1.17×
7.73random order1.15×
8.85random order1.13×
10.1random order1.11×
11.6random order1.09×
13.3random order1.08×
15.2random order1.07×
17.4random order1.06×
19.9random order1.05×
22.8random order1.05×
26.1random order1.04×
29.9random order1.03×
34.2random order1.03×
39.2random order1.03×
44.9random order1.02×
51.4random order1.02×
58.8random order1.02×
67.3random order1.02×
77.1random order1.01×
88.2random order1.01×
101random order1.01×
116random order1.01×
132random order1.01×
152random order1.01×
174random order1.01×
199random order1.01×
227random order1×
260random order1×
298random order1×
341random order1×
391random order1×
447random order1×
512random order1×
586random order1×
671random order1×
768random order1×
879random order1×
1.01Krandom order1×
1.15Krandom order1×
1.32Krandom order1×
1.51Krandom order1×
1.73Krandom order1×
1.98Krandom order1×
2.27Krandom order1×
2.59Krandom order1×
2.97Krandom order1×
3.4Krandom order1×
3.89Krandom order1×
4.46Krandom order1×
5.1Krandom order1×
5.84Krandom order1×
6.69Krandom order1×
7.66Krandom order1×
8.76Krandom order1×
10Krandom order1×
11.5Krandom order1×
13.2Krandom order1×
15.1Krandom order1×
17.2Krandom order1×
19.7Krandom order1×
22.6Krandom order1×
25.9Krandom order1×
29.6Krandom order1×
33.9Krandom order1×
38.8Krandom order1×
44.4Krandom order1×
50.9Krandom order1×
58.2Krandom order1×
66.6Krandom order1×
76.3Krandom order1×
87.3Krandom order1×
100Krandom order1×

Worked examples, recomputed

Every number the mechanisms quote for this relationship is recomputed from it, so none of them disagrees with it.

Where it appears

Each mechanism states it in its own names. The general symbol each name stands for is shown with it.