Yet Another Ruby Virtual machine (YARV) é um interpretador bytecode projetado em C, desenvolvido por Koichi Sasada para a linguagem de programação Ruby tendo sido incorporado oficialmente à versão 1.9 da linguagem. Sua principal vantagem é a velocidade de execução de programas Ruby comparado ao interpretador Ruby MRI.[1]
YARV é uma máquina de pilha escrita em C, constituída por uma pilha, um Program Counter (PC) , um stack pointer (SP) e alguns frame pointers (FP). YARV compila o script Ruby em instruções intermediárias. O conjunto de instruções é feito especificamente para as instruções Ruby. YARV reutiliza muitas partes do Ruby MRI, como o analisador de script Ruby, o mecanismo de gerenciamento de objetos, o garbage collector, dentre outros.[2]