Expressões Regulares TruffleRuby: 200 vezes mais rápidas que C e SIMD
Esta postagem de blog explora a otimização de desempenho para escape de string JSON em Ruby. Benchmarks comparam três abordagens: uma versão pura em Ruby, uma extensão C com instruções SIMD e uma versão pura em Ruby no TruffleRuby. Surpreendentemente, a versão pura em Ruby do TruffleRuby, aproveitando seu compilador JIT avançado e o mecanismo TRegex, é 20 vezes mais rápida que a extensão C e SIMD, e mais de 200 vezes mais rápida que o código C de referência em alguns casos. Isso decorre do mecanismo TRegex do TruffleRuby, que compila expressões regulares em autômatos finitos determinísticos, evitando retrocesso e utilizando instruções SIMD para otimização. Comparações semelhantes são mostradas para `Time.new(String)` e `StringScanner#scan_integer`, onde as implementações de expressão regular do TruffleRuby superam significativamente as implementações C do CRuby. Isso demonstra que, em alguns casos, um código conciso em Ruby puro, combinado com um compilador JIT avançado, pode superar o desempenho de linguagens de baixo nível.