Voltando à Rinha de backend 2026.

Li um texto no Linkedin do João Mendes, sobre o Garbage Collector do Go e na hora me lembrei de minha pobre submissão em Go. Será que poderia ser mais rápido? Peguei o texto, colei no meu agente (agora tão chamando de “harness”) e perguntei se o código poderia melhorar com os apontamentos listados.

E não é que achou!?!?!?!

Aceitei a sugestão, comitei e submeti a teste novamente, e num é que melhorou? De 978 pontos fui para 1148, e diminuiu o P99, e também as falhas. Nada gigantesco, mas uma evolução consistente.

E já que tava mexendo nisso, lembrei que em minha submissão com a linguagem V, ao invés do meu próprio load balancer, humildemente, ainda que com atraso, aceitei os fatos, e usei o Nginx em modo stream. E isso deu um baita salto na pontuação, de 978 para 3190 pontos.

Aqui os números:

| p99       | Failures |    Score | Observação                                |
| --------- | -------- | -------: | ----------------------------------------- |
| 203.03 ms | 2.36%    |   978.30 | Score estável                             |
| 181.27 ms | 2.18%    | 1.148,81 | Reutilização de array criado fora do loop |
| 1.81 ms   | 2.13%    | 3.190,06 | Nginx como load balancer em modo stream   |

Aqui a evolução:

| Métrica  |   Inicial | Intermediário |    Final | Variação Total |
| -------- | --------: | ------------: | -------: | -------------: |
| p99      | 203.03 ms |     181.27 ms |  1.81 ms |     **-99,1%** |
| Failures |     2.36% |         2.18% |    2.13% |      **-9,7%** |
| Score    |    978.30 |      1.148,81 | 3.190,06 |    **+226,1%** |

E uma análise do ChatGPT:

  1. Reutilização de arrays

    • O ganho foi modesto, mas consistente.
    • p99 caiu cerca de 10,7% (203 ms → 181 ms).
    • O score aumentou aproximadamente 17,4%.
    • Isso sugere redução de alocações e pressão no coletor de lixo.
  2. Nginx em modo stream

    • Foi a mudança de maior impacto.
    • O p99 despencou de 181 ms para 1,81 ms, uma redução de praticamente 100×.
    • O score quase triplicou.
    • Como a taxa de falhas permaneceu próxima de 2%, o ganho parece ter vindo principalmente da redução de latência e overhead de conexão.
  3. Taxa de falhas

    • Variou pouco entre os testes (2,36% → 2,13%).
    • Isso indica que as otimizações atacaram desempenho, mas não alteraram significativamente a estabilidade do sistema.

Resumo para relatório

A reutilização de estruturas de dados trouxe uma melhora incremental de aproximadamente 17% no score e redução de 11% no p99. A principal otimização foi a introdução do Nginx como balanceador TCP em modo stream, reduzindo o p99 de 203 ms para 1,81 ms e elevando o score em 226%, sem impacto significativo na taxa de falhas. Isso indica que o gargalo predominante estava relacionado ao gerenciamento das conexões de rede, e não ao processamento interno da aplicação.