Skip to main content
Let's discuss Tech - Join our Community
Let's discuss Tech - Join our Community
Bun's Rust Rewrite Took 11 Days and Cost $165,000
Technology

A Reescrita em Rust do Bun Levou 11 Dias e Custou US$ 165 Mil

Um milhão de linhas de código de runtime mudou de linguagem em menos de duas semanas, e agora os fuzzers estão decidindo o que isso valeu

Will Lisil|Director & Digital Creator
6 min de leitura

Resumo

O runtime JavaScript Bun foi portado de Zig para Rust em 11 dias e 6.502 commits, usando até 64 agentes de IA em paralelo e cerca de US$ 165 mil em tokens, um trabalho antes estimado em três anos-engenheiro. Um port paralelo do Postgres passou em 100% dos testes e depois travou com um fuzzer.

Em 8 de julho, Jarred Sumner, criador do Bun, publicou os números por trás de um trabalho que a maioria das equipes de engenharia teria descartado como impossível. Uma reescrita em Rust do runtime JavaScript, uma base de cerca de um milhão de linhas originalmente escrita em Zig, foi concluída em 11 dias e 6.502 commits, conduzida por até 64 agentes de IA rodando em paralelo. A conta de tokens ficou em torno de US$ 165 mil pelo preço público da API.

A comparação que mais circulou foi o contrafactual: o mesmo trabalho, feito de forma convencional, foi estimado em cerca de um ano para três engenheiros. Em menos de um dia, esse post, uma reescrita rival do Postgres e uma resposta afiada do criador do Zig estavam a menos de 30 pontos de distância no topo do Hacker News. A discussão que se seguiu não é sobre um runtime. É sobre o que acontece quando o custo de reescrever software de base cai duas ordens de grandeza.

Verdade em Tecnologia, Entregue pela MW3.BIZ

Junte-se a milhares que confiam em nós para insights imparciais sobre IA, blockchain e o futuro da tecnologia

By subscribing, you agree to our Terms and Privacy Policy.

O que realmente aconteceu dentro da reescrita

Os números brutos por trás da reescrita em Rust são incomuns o bastante para serem ditos com clareza. A execução consumiu cerca de 5,9 bilhões de tokens de entrada não cacheados e 690 milhões de tokens de saída. Os agentes trabalharam em paralelo, e não em sequência, e por isso o tempo de relógio despencou enquanto o volume de trabalho não. O resultado foi verificado continuamente contra a própria suíte de testes do Bun, que reúne algo na casa de um milhão de asserções.

Essa suíte de testes é a parte que sustenta a história. Um port conduzido por máquina não tem julgamento sobre intenção; tem apenas uma especificação que consegue executar. O Bun tinha em mãos uma das especificações executáveis mais exigentes do ecossistema JavaScript, construída ao longo de quatro anos perseguindo compatibilidade com o Node.js. O número publicado para a build em Rust é de 99,8% de compatibilidade de testes no Linux x64 com glibc.

O que esse número não significa é que a build em Rust seja a que você instala hoje. Ela segue experimental, limitada a uma única plataforma, e não é o binário padrão. A linha estável 1.3.x do Bun continua sendo produzida a partir do código em Zig. Segundo o relato de julho, o código reescrito chegou a usuários dentro do Claude Code v2.1.181 em 17 de junho, o que é um sinal relevante de produção, mas não equivale a um lançamento geral.

Por que um runtime que funciona abandonaria o Zig

Foram dados três motivos, e nenhum deles é velocidade bruta. As duas linguagens compilam para código nativo sem coletor de lixo, e a expectativa declarada publicamente era de que a build em Rust ficasse a poucos pontos percentuais da build em Zig.

O primeiro motivo são pessoas. Rust tem uma comunidade de contribuidores muito maior que Zig e, para um projeto que quer receber patches de fora, o tamanho desse funil é uma restrição de projeto como qualquer outra. O segundo é manutenção em escala, em que o modelo de ownership e o sistema de tipos do Rust movem uma classe de erros do tempo de execução para o tempo de compilação. O terceiro é institucional. O Bun foi adquirido pela Anthropic em dezembro de 2025, e o Claude Code é distribuído como um executável Bun para milhões de usuários. O resumo de Sumner sobre o risco foi direto: se o Bun quebra, o Claude Code quebra. Esse mesmo anúncio assumiu o compromisso de manter o Bun open source sob licença MIT e o desenvolvimento público no GitHub.

Andrew Kelley, criador do Zig, publicou uma refutação no dia seguinte. Sua objeção central é de capacidade de revisão, e não de preferência por linguagem: entregar cerca de um milhão de linhas de código gerado por máquina que nenhum humano leu tem um perfil de risco diferente de entregar um milhão de linhas que uma equipe escreveu e revisou. Ele também questionou com que consistência a suíte de testes foi aplicada. É uma crítica legítima, e a resposta honesta é que ninguém ainda tem um bom método para revisar código nesse volume.

O Postgres recebeu o mesmo tratamento, e os fuzzers responderam

O segundo projeto tornou o trade-off visível. O pgrust, uma reescrita do PostgreSQL em Rust iniciada no começo de abril de 2026 por Michael Malis e Jason Seibel, seguiu um caminho parecido: uma primeira tentativa do zero e, em junho, a troca por conversão automática de C para Rust seguida de reescrita conduzida por IA para um Rust mais seguro.

Em 25 de junho o projeto anunciou que passava em 100% dos mais de 46 mil testes de regressão do PostgreSQL 18.3, além dos testes de isolamento, e que conseguia iniciar a partir de um diretório de dados existente do Postgres. Para um banco de dados, essa é uma barra genuinamente difícil de superar.

Então Andreas Seltenreich, autor do fuzzer SQLsmith, apontou a ferramenta para o resultado em 9 de julho. Em poucos dias ela produziu uma falha de segmentação a partir de uma única linha de SQL, SELECT numrange_subdiff(1,1);, um erro interno em uma instrução MERGE, várias invariantes de planner quebradas e uma validação ausente em literais bytea. Os testes de recuperação estavam em 34 de 47. Os benchmarks publicados foram igualmente duros: cerca de 728 transações por segundo contra 6.365 do PostgreSQL 18.4 original, inicialização cerca de onze vezes mais lenta e mortes por falta de memória sob carga sustentada. A base carrega 2.664 blocos unsafe e 1.835 funções unsafe, um lembrete de que traduzir mecanicamente para Rust não produz automaticamente um Rust seguro em memória.

O kernel resolveu a questão da linguagem anos antes

Perdido no barulho está o fato de que a questão de fundo já foi respondida há algum tempo, e de forma discreta. No Maintainers Summit do kernel Linux, em dezembro de 2025, o consenso foi que Rust no kernel não é mais experimental. Jonathan Corbet, ao relatar o desfecho, resumiu como o experimento tendo terminado e dado certo. O suporte a Rust havia sido incorporado no fim de 2022 e cresceu de forma constante desde então; o summit apenas retirou o rótulo.

Esse caminho levou três anos de revisão humana, subsistema por subsistema, com mantenedores discutindo cada interface. É o oposto de uma corrida de 11 dias, e é por isso que o resultado do kernel é durável. A linguagem nunca foi a parte contestada. A parte contestada é com que velocidade uma base de código pode migrar para ela e ainda assim ser confiável.

O que os números provam e o que não provam

Lidos com cuidado, a reescrita em Rust do Bun e sua equivalente no Postgres sustentam uma afirmação mais estreita do que sugerem as manchetes. Eles mostram que, quando uma base de código tem uma especificação executável ampla, uma frota de agentes já consegue traduzi-la entre linguagens em dias em vez de anos, a um custo que uma única pessoa bem financiada poderia cobrir. Isso é uma mudança real e significativa de capacidade.

Eles não mostram que o resultado esteja pronto para produção. Os resultados de fuzzing do pgrust demonstram exatamente o que uma suíte de regressão não captura: ela verifica o comportamento que alguém pensou em testar, e não o comportamento que ninguém imaginou. A própria postura do Bun, mantendo as versões estáveis em Zig enquanto a build em Rust amadurece, é o sinal mais instrutivo. Quem está mais perto do trabalho o trata como promissor e inacabado, que é a leitura correta.

Há ainda uma questão de manutenção que ninguém respondeu. Uma base produzida em 11 dias continua tendo de ser compreendida por quem for corrigi-la às 3 da manhã daqui a dois anos. Revisabilidade não é um extra em software de base; é o mecanismo pelo qual a confiança se acumula.

O que isso muda para equipes pequenas

Na MW3.biz, lemos isso como uma história de democratização com um asterisco. Uma capacidade que antes exigia uma equipe financiada agora está ao alcance de duas pessoas com um cartão de crédito e uma boa suíte de testes, e essa é a direção para a qual queremos que a tecnologia caminhe. Também achamos que o asterisco importa: os projetos que deram certo aqui foram os que já haviam investido anos em testes, e esse investimento não é algo que um agente consiga adicionar depois. Nossa visão é que ampliar o acesso a esse tipo de ferramenta vale a pena, e que a forma honesta de defender isso é relatar os resultados do fuzzer ao lado da contagem de commits.

A lição prática para uma equipe pequena é pouco glamourosa. A alavanca está na especificação, não no modelo. Se o seu projeto tem uma suíte de testes fraca, uma refatoração conduzida por agentes vai produzir algo que compila, passa no pouco que você escreveu e falha em produção. Se ela for completa, a mesma ferramenta vira um multiplicador de força real, do mesmo modo que os modelos de pesos abertos ampliaram o acesso ao trabalho diário de programação. Passar duas semanas melhorando a cobertura de testes hoje rende mais do que gastar as mesmas duas semanas na refatoração.

Nenhuma das duas reescritas está pronta, e ambas merecem ser acompanhadas em vez de copiadas. O estado atual do port do Bun e a lista de issues abertas do pgrust vão dizer mais nos próximos seis meses do que qualquer benchmark isolado diz hoje. O que já mudou foi o preço de tentar.

Tags:#Rust#Bun#PostgreSQL#AI coding agents#Open Source#Developer Tools#Memory Safety
Palavras-chave:Rust rewriteBun runtimeAI coding agentspgrustPostgreSQL
Compartilhar:X (Twitter)LinkedIn

Pontos Principais

  • A reescrita em Rust do Bun levou 11 dias e 6.502 commits com até 64 agentes de IA em paralelo, a cerca de US$ 165 mil em tokens, contra uma estimativa de um ano para três engenheiros.
  • O runtime reescrito registra 99,8% de compatibilidade de testes no Linux x64, mas as versões estáveis 1.3.x do Bun ainda são geradas a partir do código original em Zig.
  • Um projeto separado de duas pessoas, o pgrust, passou nos mais de 46 mil testes de regressão do PostgreSQL em junho e, semanas depois, sofreu um segfault causado por uma consulta de uma linha.
  • Passar em uma suíte de testes e estar pronto para produção não são a mesma afirmação, e é nessa lacuna que o debate atual se instala.
  • O kernel do Linux resolveu a questão da linguagem em dezembro de 2025, quando os mantenedores declararam o experimento com Rust concluído e bem-sucedido.

Frequently Asked Questions

Onze dias e 6.502 commits, segundo o relato publicado por Jarred Sumner, criador do Bun, em 8 de julho de 2026. O trabalho usou até 64 agentes de IA em paralelo e consumiu cerca de 5,9 bilhões de tokens de entrada e 690 milhões de saída, aproximadamente US$ 165 mil pelo preço público da API.

Não. A build em Rust ainda é experimental e limitada ao Linux x64 glibc. As versões estáveis 1.3.x do Bun continuam sendo geradas a partir do código original em Zig, então uma instalação normal não é afetada.

Foram dados três motivos: Rust tem uma comunidade de contribuidores muito maior que Zig, seu modelo de ownership oferece garantias de segurança em tempo de compilação que ajudam nessa escala, e o Bun agora sustenta o Claude Code da Anthropic, o que eleva a exigência de estabilidade a longo prazo.

O pgrust anunciou em 25 de junho de 2026 que passou em 100% dos mais de 46 mil testes de regressão do PostgreSQL 18.3 e conseguia iniciar a partir de um diretório de dados existente. Duas semanas depois, uma rodada do fuzzer SQLsmith produziu um segfault com a consulta SELECT numrange_subdiff(1,1), além de falhas de planner e de validação.

Não com base nessas evidências. Os dois projetos tinham redes de segurança incomuns: o Bun tem cerca de um milhão de asserções de teste e o pgrust contava com a suíte madura do Postgres. Projetos sem esse tipo de especificação executável não têm como cobrar uma reescrita conduzida por máquina.

Fontes

  1. Bun: Bun is joining Anthropic (Jarred Sumner)(accessed 2026-08-03)
  2. Cosmic: Bun's Rust Rewrite: Where It Stands(accessed 2026-08-03)
  3. Lilting: pgrust passed 100% of Postgres regression tests(accessed 2026-08-03)
  4. LWN.net: The (successful) end of the kernel Rust experiment(accessed 2026-08-03)

Continue Lendo

A clinician working at a laptop in a bright small clinic, illustrating AI agents in healthcare
Technology18 de julho de 2026

Agentes de IA na saúde: como 2026 está remodelando as pequenas clínicas

Em 2026, os agentes de IA na saúde reduzem horas de trabalho administrativo dos clínicos e finalmente chegam às pequenas clínicas independentes antes deixadas para trás.

Will Lisilnull min de leitura
Leia Mais
What the EU AI Act Means for Small Builders in 2026
Technology15 de julho de 2026

O que a Lei de IA da União Europeia significa para pequenos desenvolvedores em 2026

Will Lisilnull min de leitura
Leia Mais
A developer writing code at a desktop computer, weighing which AI coding tool to adopt
AI Tools12 de julho de 2026

Cursor vs Claude Code: Qual Escolher para Desenvolvedores Independentes em 2026?

Will Lisil6 min de leitura
Leia Mais
A diverse group of small business owners in a classroom workshop, learning about AI on their laptops.
Technology10 de julho de 2026

Adoção de IA por Pequenas Empresas: Lacuna de Habilidades

Um aumento na adoção de IA por pequenas empresas está impulsionando a receita e a eficiência, mas uma lacuna de habilidades significativa representa um grande obstáculo. Este artigo explora as tendências, desafios e estratégias para PMEs navegarem com sucesso na revolução da IA.

Will Lisil5 min de leitura
Leia Mais
A diverse team of professionals in a modern office collaborating on a large whiteboard covered in workflow diagrams.
Technology10 de julho de 2026

OpenAI lança o ChatGPT Work e o GPT-5.6 para automação empresarial

A OpenAI lançou o ChatGPT Work, uma nova plataforma de IA agêntica para empresas, juntamente com um novo modelo GPT-5.6. A iniciativa visa automatizar fluxos de trabalho complexos, posicionando a OpenAI contra concorrentes na corrida pelo domínio da IA empresarial.

Will Lisil6 min de leitura
Leia Mais
Ver Todas as Notícias
Mais artigos na seção de notícias

Volte em breve para mais atualizações da MW3.BIZ