Pular para o conteúdo
COLMEIA.digital
Engenharia de software3 min de leitura

Bun 1.3 em produção: cron nativo, test runner paralelo e 17x menos memória

Bun 1.3 amadureceu como runtime de produção: Bun.cron nativo, bun test --parallel, install com 17x menos memória, gzip 5.5x mais rápido com zlib-ng, e compatibilidade Node.js.

Resposta atômica: Bun 1.3 amadureceu como runtime de produção: Bun.cron API nativa, bun test com --parallel/--isolate/--shard/--changed, bun install com 17x menos memória via streaming tarballs, gzip 5.5x mais rápido com zlib-ng, Response.json 3.5x mais rápido, Bun.Archive API, e melhorias contínuas de compatibilidade Node.js.

A virada: Bun saiu do hype

Em 2024 Bun era promessa. Em 2025 era "vale testar". Em 2026 é runtime de produção real — grandes plataformas oferecem suporte nativo, frameworks principais (Next.js, Hono, Elysia) garantem compatibilidade, e o ecossistema de typings + tooling fechou as lacunas.

A versão 1.3 (em iterações constantes ao longo de 2026) consolidou três frentes: runtime API, tooling, e compat Node.

Bun.cron — o que estava faltando

import { cron } from "bun";

cron("0 9 * * *", async () => {
  // roda todo dia às 9h
  await sendDailyDigest();
});

cron("*/15 * * * *", async () => {
  // a cada 15 minutos
  await syncInventory();
});

API nativa, cross-platform, sem dependência externa. Para apps que precisam de cron interno (não Vercel Cron, não Cloudflare Trigger), substitui node-cron com zero install e melhor performance.

O padrão que muda: scripts de manutenção que antes precisavam de runtime separado agora cabem no mesmo processo Bun. Para SaaS pequeno e médio, isso reduz superfície operacional.

bun test — paridade com Vitest, performance superior

bun test ganhou as flags que faltavam:

  • --parallel — executa arquivos em workers paralelos
  • --isolate — cada arquivo em processo isolado (previne vazamento de estado)
  • --shard — particiona suíte entre máquinas no CI
  • --changed — roda apenas testes afetados por mudança no git

Para suítes grandes, --shard distribuído em 4 runners do CI tipicamente reduz tempo total de teste em fator 3.5x-4x. --changed reduz feedback loop em PRs pequenos para segundos.

bun install — 17x menos memória

Streaming de tarballs direto para disco em vez de carregar em memória. Para projetos com node_modules grande (monorepos, Next.js + dependências de IA), isso significa:

  • Containers de CI menores
  • Cold start de Docker mais rápido
  • Workers de serverless mais magros

Em projeto médio, bun install consome agora a fração do que npm install consome.

Performance bruta

Os números acumulados em 2026:

  • gzip 5.5x mais rápido com zlib-ng
  • Source maps com 8x menos memória
  • Response.json 3.5x mais rápido
  • async/await 15% mais rápido
  • Promise.race 30% mais rápido
  • Bun.hash.crc32 20x mais rápido

Nenhuma dessas mudanças individualmente é game-changer. Em conjunto, em request típico de API, somam 10-25% de redução de latência ponta a ponta sem mudar uma linha de código.

APIs novas em 2026

  • Bun.Archive — criar e extrair tarballs com gzip nativo
  • Bun.JSONC — parser de JSON com comentários
  • Range request em Bun.serve() — implementação nativa
  • SHA3 em node:crypto e WebCrypto — hash moderno sem polyfill
  • ws+unix:// WebSocket client — WebSocket via Unix socket

Compatibilidade Node — fechamento das lacunas

Em 2024 e 2025, "Bun não funciona com X" era reclamação comum. Em 2026, a lista é pequena e específica — geralmente dependências nativas (node-gyp em libs antigas) ou behaviors muito específicos do V8.

A heurística: se sua app é TypeScript moderno + frameworks principais + libs publicadas nos últimos 3 anos, Bun funciona out of the box.

Quando ainda manter Node

  • Workers com dependência nativa específica
  • Stack atrelado a ferramenta que usa V8 API exclusivamente
  • Compliance que exige runtime certificado em ambiente regulado
  • Apps em produção há anos com perfil de comportamento auditado

Como decidir migrar

  1. Spike de 1 dia — rode bun install + bun test na sua suite atual
  2. Identifique deps problemáticas — se uma lib não compila com Bun, vale upgrade da lib antes de migrar
  3. Rode em staging por 1-2 semanas — meça latência, memória, error rate
  4. Decida por ambiente — alguns times rodam Bun em dev/CI e Node em prod até confiança plena

Próximo passo

Para times pesando migração ou greenfield em 2026 — discovery técnico avalia o trade-off real do seu workload.

Fontes citadas

  1. Bun v1.3.13 — Bun Blog · acessado em 2026-05-19
  2. Bun v1.3.11 — Built-in Bun.cron · acessado em 2026-05-19
  3. Bun — official site · acessado em 2026-05-19

Leia também

  1. Engenharia de software

    Cache Components no Next.js: o que muda no PPR

  2. Arquitetura & escalabilidade

    PostgreSQL 18: I/O assíncrono, UUIDv7 e o que muda em SaaS

  3. Performance & Core Web Vitals

    React Compiler v1.0: memoização automática em produção