Rails ist ein JIT-Compiler: Ein Enum-Trick beschleunigt Methoden um das Fünffache

Rails Is a JIT Compiler

Rails ist ein JIT-Compiler: Ein Enum-Trick beschleunigt Methoden um das Fünffache

Ein scheinbar harmloser Code-Schnipsel aus einem Rails-Enum führte zu einer überraschenden Erkenntnis: Statt dynamischer Methodenaufrufe per public_send und define_method lassen sich die Enum-Werte direkt in generierten Code einbetten. Die Änderung, umgesetzt mit module_eval und ActiveSupport::CodeGenerator, steigert die Performance im Microbenchmark von 3,8 auf 18,5 Millionen Iterationen pro Sekunde mit ZJIT – ein Beweis, dass sich Performance-Probleme oft direkt in der Bibliothek lösen lassen.

Statisch ist besser als dynamisch. Brennt diese Konstanten ein.

Mehr von diesem Tag

2026-10-24