¿Qué estrategias de despacho de código de operación se utilizan en intérpretes eficientes?

¿Qué técnicas promueven el envío eficiente del código de operación para hacer un intérprete rápido? ¿Existen algunas técnicas que solo funcionan bien en hardware moderno y otras que ya no funcionan bien debido a los avances de hardware? ¿Qué compensaciones deben hacerse entre la facilidad de implementación, la velocidad y la portabilidad?

Me complace que la implementación de C de Python finalmente vaya más allá de una simpleswitch (opcode) {...} implementación para el envío de código de operación a subprocesos indirectos como una opción de tiempo de compilación, pero estoy menos satisfecho de que les haya llevado 20 años llegar allí. Tal vez si documentamos estas estrategias en stackoverflow, el siguiente idioma se acelerará más rápido.

Respuestas a la pregunta(8)

Su respuesta a la pregunta