I had improved the performance of the rle8 Extreme 8 Bit Encoder and added a 128 Bit variant a while ago but wasn't able to profile it properly.
However I had access to a current gen Intel CPU (i9-9900K) recently and was absolutely blown away with the results:
File: 1034.db (Checkers program "End Game Table Base", 419.225.625 Bytes)
Code:
| Type | Ratio | Encoding Speed | Decoding Speed | Entropy Compr. To |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| rle8 Extreme 8 Bit | 23.02 % | 1482.5 MiB/s | 12473.0 MiB/s | 12.08 % |
| rle8 Extreme 8 Bit Single | 20.59 % | 473.3 MiB/s | 10676.4 MiB/s | 12.06 % |
| rle8 Extreme 16 Bit | 24.89 % | 1118.5 MiB/s | 10503.6 MiB/s | 12.27 % |
| rle8 Extreme 24 Bit | 27.27 % | 1345.8 MiB/s | 12788.1 MiB/s | 11.95 % |
| rle8 Extreme 32 Bit | 28.39 % | 1485.0 MiB/s | 10928.2 MiB/s | 12.27 % |
| rle8 Extreme 48 Bit | 31.22 % | 1758.2 MiB/s | 13129.2 MiB/s | 12.02 % |
| rle8 Extreme 64 Bit | 33.36 % | 1623.6 MiB/s | 12586.9 MiB/s | 11.98 % |
| rle8 Extreme 128 Bit | 39.84 % | 1521.6 MiB/s | 13386.2 MiB/s | 12.16 % |
File: https://i.redd.it/tj5oyhhuehv11.png (PNG converted to BMP, 123.710.454 Bytes)
Code:
| Type | Ratio | Encoding Speed | Decoding Speed | Entropy Compr. To |
|~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| rle8 Extreme 8 Bit | 99.99 % | 4892.4 MiB/s | 10863.6 MiB/s | 76.18 % |
| rle8 Extreme 24 Bit | 1.84 % | 3710.0 MiB/s | 16767.0 MiB/s | 1.32 % |
| rle8 Extreme 48 Bit | 2.78 % | 6407.1 MiB/s | 16446.9 MiB/s | 2.12 % |
Full Results & Comparison available at https://github.com/rainerzufalldererste/rle8