Quais estratégias de despacho opcode são usadas em intérpretes eficientes?

Quais técnicas promovem o envio eficiente de opcode para criar um intérprete rápido? Existem algumas técnicas que funcionam apenas no hardware moderno e outras que não funcionam mais devido aos avanços do hardware? Que trade-offs devem ser feitos entre facilidade de implementação, velocidade e portabilidade?

Estou satisfeito que a implementação C do Python esteja finalmente indo além de um simplesswitch (opcode) {...} implementação para envio de opcode para threading indireto como uma opção de tempo de compilação, mas estou menos satisfeito que levaram 20 anos para chegar lá. Talvez se documentarmos essas estratégias no stackoverflow, o próximo idioma ficará mais rápido mais rápido.

questionAnswers(8)

yourAnswerToTheQuestion