I've just read this article by Arturo San Emeterio Campos and made a working order-4-2-1-0-(-1) implementation (https://github.com/richox/slimox), but I found it even slower than high order PPMd. Does a hash table implementation always perform worse than one based on context trie, or do I misunderstand something?