Accélérer le FFI de CRuby avec la compilation JIT

2025-02-12
Accélérer le FFI de CRuby avec la compilation JIT

Cet article explore l'utilisation de la compilation Just-In-Time (JIT) pour améliorer les performances de l'interface de fonction étrangère (FFI) de Ruby. Des benchmarks montrent les inconvénients de performance du FFI par rapport aux extensions natives. L'auteur présente FJIT, une solution utilisant RJIT et la génération de code machine personnalisé pour générer du code machine en temps réel afin d'appeler des fonctions externes, contournant ainsi la surcharge du FFI. FJIT surpasse les extensions natives dans les tests, offrant une alternative hautes performances aux développeurs Ruby. Actuellement un prototype ne supportant que ARM64, on s'attend à ce que FJIT s'étende à d'autres architectures et appels de fonctions plus complexes à l'avenir.

Développement