There was a nice post here recently about speeding up interpreters via closure-based interpreter:
https://news.ycombinator.com/item?id=43595283
I hacked up a toy brainfuck interpreter using that technique and it was pretty fast. Not sure I'd get the chance to use it elsewhere, but experimenting with it was useful regardless:
replies(1):