Not sure I like the design difference between decoder and encoders. Freeing the input to accept more data while decoding is not really a valid argument.  If the decoder is that much slower the channel will quickly backup and block the input and I am not sure the wiggle room in the channel buys us that much.