#backend
7 artigos marcados com essa tag.
Rinha de Backend 2026: do código à nota oficial
Sexto artigo da série. O Dockerfile multi-stage que embute os 3M de refs, o target-cpu que dá 16× i16 por instrução, um segfault que só existe sob emulação QEMU e a imagem que nasceu privada e derrubou a inscrição. O caminho que transformou o brute force em -6000 oficial.
Rinha de Backend 2026: o VP-Tree exato que saiu do piso
Sétimo artigo da série. De -6000 (penúltimo) para 3.788 (#111 de 228) sem tocar numa linha da classificação. O VP-Tree exato, a poda que parecia exata mas não era — um epsilon 5 ordens de grandeza pequeno demais — e a matemática inteira que provou exatidão para queries que eu nunca testei.
Rinha de Backend 2026: a busca brute force em 3 milhões de vetores
Quinto artigo da série. mmap dos 84 MB de refs.i16.bin, scan completo a cada requisição, top-5 num array de stack, zero alocação no hot path — e o veredito oficial: último lugar, score mínimo, e por que isso era exatamente o plano.
Rinha de Backend 2026: quantizando 298 MB de JSON em 87 MB de i16
Quarto artigo da série. O preprocess que tira o references.json.gz do runtime, comprime cada vetor de 14 dimensões em 28 bytes de i16, e ainda devolve uma layer Docker reprodutível e cacheável.
Rinha de Backend 2026: vetorizando o payload em 14 dimensões
Terceiro artigo da série. A função pura que transforma a transação em um vetor [f32; 14], com parser ISO manual, tabela de MCC hardcoded e os dois exemplos do regulamento como gabarito de teste.
Rinha de Backend 2026: a matriz que travou as decisões antes do código
Segundo artigo da série. Antes de escrever Rust, a conta de memória eliminou metade das opções: axum como HTTP, quantização i16 obrigatória, preprocess em build-time e brute force SIMD como baseline.
Rinha de Backend 2026: o problema real não é a API
Primeiro artigo da minha jornada na Rinha de Backend 2026. Rust, busca vetorial, 350 MB de memória e o porquê de começar pelo brute force.