"Arithmetic coding is much, much simpler." Let us agree to disagree.
"And decompression speed is not a limiting factor in most applications of data compression like this". It depends on the application. Zstd and Brotli are certainly aiming at the fastest decompression speed possible.
The Huffman encoding loop is 2 lines and decoding loop is 4 lines of branchless code.
Do you have an example of branchless arithmetic encoder or decoder ?
Comments
"Arithmetic coding is much, much simpler." Let us agree to disagree. "And decompression speed is not a limiting factor in most applications of data compression like this". It depends on the application. Zstd and Brotli are certainly aiming at the fastest decompression speed possible.
Arithmetic coding can be implemented in as little as maybe ten lines of code. It is far simpler than Huffman coding.
The Huffman encoding loop is 2 lines and decoding loop is 4 lines of branchless code. Do you have an example of branchless arithmetic encoder or decoder ?