Aceleração do FFI do CRuby com Compilação JIT
2025-02-12

Este artigo explora o uso da compilação Just-In-Time (JIT) para melhorar o desempenho da Interface de Função Estrangeira (FFI) do Ruby. Benchmarks demonstram as desvantagens de desempenho do FFI em comparação com extensões nativas. O autor apresenta o FJIT, uma solução que utiliza o RJIT e geração de código de máquina personalizado para criar código de máquina em tempo de execução para chamar funções externas, contornando a sobrecarga do FFI. O FJIT supera as extensões nativas em testes, oferecendo uma alternativa de alto desempenho para desenvolvedores Ruby. Atualmente um protótipo que suporta apenas ARM64, espera-se a expansão futura do FJIT para outras arquiteturas e chamadas de funções mais complexas.
Desenvolvimento