Recently I made small test on PPMd. I want to look on TSE in practical compression.
So, I made unary encoding in masked contexts, and add probability adjustment by TSE. There are two stages of TSE, first probability is adjusted by TSE context, selected by previous encoded symbol, then by TSE context, selected by current stat symbol.
Note, that using previous and current char simultaneously as context of probability adjustment is impossible in SSE (we will have at least 2^16 SSE contexts for each probability quant). Mixer like used in Paq can do such adjustment, but it will require 2 SSE maps with different contexts selected. So, TSE is a good solution, when adding some new reasonable flags in SSE leads only to compression degradation.
This version is slower by 2-3 times than original PPMd_sh8, partially from unary encoding.
But main goal of this version was not speed.
Some results: No code has to be inserted here.