Skip to main content
Does AI know your business exists? Find out
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 developer typing on a laptop with a code editor open
Technology25 de agosto de 2026

Um modelo de pesos abertos para programação subiu seis vezes sem novo pré-treino

O GLM-5.3 mostra que um modelo de pesos abertos para programação pode subir seis vezes num benchmark agêntico duro sem novo pré-treino e a uma fração do preço.

Will Lisil6 min de leitura
Leia Mais
AI Agent Payments Hit 75 Million Transactions on One Standard Alone
Technology19 de agosto de 2026

Pagamentos por agentes de IA atingem 75 milhões de transações em um único padrão

Somente o padrão x402 liquidou 75,41 milhões de transações e US$ 24,24 milhões em volume em 30 dias. Quatro protocolos rivais disputam agora como o software autônomo paga pelo que usa.

Will Lisil6 min de leitura
Leia Mais
Data Residency Rules Now Reach Two-Person SaaS Teams
Technology10 de agosto de 2026

Regras de residência de dados agora alcançam equipes de SaaS com duas pessoas

O regime europeu de troca de nuvem se aplica a fornecedores de todos os portes, sem isenção para pequenos, e as últimas taxas de saída permitidas desaparecem em 12 de janeiro de 2027.

Will Lisil6 min de leitura
Leia Mais
Self-Hosting in 2026: Record SaaS Inflation Is Pushing Builders to Move
Technology29 de julho de 2026

Auto-hospedagem em 2026: a inflação recorde de SaaS está levando desenvolvedores a migrar

A inflação de SaaS atingiu um recorde de 16,4 por cento em junho de 2026, enquanto um servidor de 24 dólares já roda uma stack real. Quando a auto-hospedagem compensa, e quando não.

Will Lisil6 min de leitura
Leia Mais
How Open-Weight AI Models Are Reshaping Coding for Everyday Developers
Technology25 de julho de 2026

Como os modelos de IA de pesos abertos estão transformando a programação para desenvolvedores comuns

Os modelos de IA de pesos abertos estão transformando a programação em 2026, com um modelo de baixo custo chegando ao GitHub Copilot e derrubando os preços.

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