Beyond Benchmarks: Node.js, Deno, and Bun in Real Production

This ad is not shown to multipass and full ticket holders
JS Nation
JSNation 2026
June 11 - 15, 2026
Amsterdam & Online
The main JavaScript conference of the year
Upcoming event
JSNation 2026
JSNation 2026
June 11 - 15, 2026. Amsterdam & Online
Learn more
Bookmark
Rate this content
Sentry
Promoted
Code breaks, fix it faster

Crashes, slowdowns, regressions in prod. Seer by Sentry unifies traces, replays, errors, profiles to find root causes fast.

Los benchmarks están en todas partes, pero la producción rara vez se parece a un benchmark.

Esta charla compara Node.js, Deno y Bun desde una perspectiva pragmática y orientada a la producción: depuración, observabilidad, implementación, inicios en frío y el tipo de casos límite que solo aparecen cuando hay usuarios reales y sistemas reales involucrados.

This talk has been presented at Node Congress 2026, check out the latest edition of this JavaScript Conference.

 Vinicios Neves
Vinicios Neves
12 min
26 Mar, 2026

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Vinicius Neves enfatiza consideraciones prácticas sobre comparaciones de velocidad al elegir un runtime de JavaScript. La discusión profundiza en las diferencias de depuración y observabilidad entre Node, Dino y Bun a las 3 a.m. Se exploran métricas, seguimiento de errores, implementación y capacidades serverless en estos runtimes. Se destacan los desafíos y consideraciones de implementación serverless, incluida la integración CICD y la relevancia del objetivo de implementación. Se compara el rendimiento de inicio en frío serverless, con Bun a la cabeza, seguido de Dino y Node. La charla también enfatiza consideraciones de contratación, problemas de compatibilidad con NPM, modelos de permisos y pruebas de cargas de trabajo antes de comprometerse con un runtime.

1. Insights on Choosing JavaScript Runtime

Short description:

Vinicius Neves comparte pensamientos sobre la elección del runtime de JavaScript basándose en preguntas prácticas, no solo en comparaciones de velocidad entre runtimes como Bun, Dino y Node.

Hola. Entonces, levanta la mano si alguna vez has visto un benchmark comparando runtimes de JavaScript en el último mes o tal vez en el último año. Lo mismo aquí. He visto alrededor de 40 y cada uno de ellos me dijo algo útil sobre un escenario, pero un escenario que nunca encontraría o encontraría en producción. Así que hoy, quiero darte algo mejor que un gráfico. Quiero darte algunas preguntas que realmente hago antes de elegir un runtime para un sistema real. Mi nombre es Vinicius Neves y compartiré contigo algunos pensamientos sobre la elección de un runtime para JavaScript.

Entonces, este gráfico, lo has visto. O uno exactamente como este. Bun es rápido, como, absurdamente rápido. Dino es sólido. Un Node parece que está corriendo en sandalias. Y cada vez que uno de estos aparece en algún lugar, alguien en tu equipo te señala con, como, esto es algo a lo que debería cambiar. Y mira, el gráfico no está equivocado. Como, estos son números reales. Bun es rápido. Pero aquí está la cosa, rápido es la respuesta. Pero ¿cuál es la pregunta? Porque en ese benchmark, la pregunta era cuántas respuestas JSON puedes servir por segundo en un entorno controlado sin middleware, sin autenticación, sin base de datos, sin registro, sin A4PM, sin manejo de errores, y sin un usuario haciendo cosas raras. Eso no es tu producción. Eso no es la producción de nadie. El benchmark respondió a esa pregunta que nadie está haciendo en la vida real. Entonces, ¿cuáles son las preguntas correctas? Creo que este es el punto.

Así que quiero traerte seis preguntas. Y estas son las preguntas que realmente me importan al elegir un runtime para un sistema de producción. No cuán rápido es la palabra recargar. Estas. Y durante los próximos minutos, voy a guiarte a través de cómo Node, Dino y Bun responden a cada una de ellas. Honestamente, sin ser un fanático o algo así. Y sin declarar un ganador. Porque no hay un ganador aquí.

2. Debugging and Observability at 3 a.m.

Short description:

Explorando las diferencias de depuración y observabilidad entre Node, Dino y Bun a las 3 a.m.

Pero la primera pregunta. Son las 3 a.m. Tu teléfono de guardia suena. Algo está roto. ¿Qué tan rápido puedes averiguar qué está pasando? Con Node, tienes años de herramientas probadas en batalla. Has hecho esto antes. No es divertido. Pero sabes dónde buscar.

Con Dino, la historia de depuración se ha vuelto un poco más rápida, un poco mejor. Y también soporta el V8 Inspector Protocol. Así que la integración con Chrome DevTools funciona. Pero el ecosistema de herramientas específicas de depuración es más delgado. Cuando te encuentras con un caso límite débil, podrías ser la primera persona escribiendo o buscando sobre ello.

Con Bun. Y digo esto con respeto por lo impresionante que es Bun. Las herramientas de depuración aún son jóvenes. Tiene un depurador. Soporta WebKit Inspector. Pero es un protocolo diferente al de V8. Eso significa que algunas de tus herramientas existentes simplemente no funcionan. A las 3 a.m. un protocolo diferente no es lo que quieres escuchar. Entonces, observabilidad. Las cosas aburridas que nos salvan la vida. El ecosistema de Node es increíblemente maduro aquí. Como Datadog, Neorealic, Sentry, OpenTelemetry. Todos tienen soporte de primera clase para Node. La auto-instrumentación funciona. Lo conectas. Obtienes trazas.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Cómo Bun Hace que Construir Aplicaciones React Sea Más Simple y Rápido
React Day Berlin 2022React Day Berlin 2022
9 min
Cómo Bun Hace que Construir Aplicaciones React Sea Más Simple y Rápido
Top Content
BUN is a modern all-in-one JavaScript runtime environment that achieves new levels of performance. It includes BUN dev, a fast front-end dev server, BUN install, a speedy package manager, and BUN run, a fast package runner. BUN supports JSX, has optimized React server-side rendering, and offers hot module reloading on the server. The priorities for BUN include stability, node compatibility, documentation improvement, missing features in BUN install, AST plugin API, native Windows support, Bundler and Minifier optimization, and easier deployment to production. BUN's AST plugin API allows for bundle-time JavaScript execution and embedding code, potentially inspiring new frameworks.
Nunca te preocupes por CORS nuevamente
JSNation US 2025JSNation US 2025
28 min
Nunca te preocupes por CORS nuevamente
Talk on Bund: Overview of Bund, its speed optimization, components like runtime, package manager, test runner, and bundler. Efficient features include fast npm manager, pnpm lockfile support, Jest-compatible test runner, and optimized runtime components. Built-in features like modern password hashing, WebSocket server, file glob API, and database clients. API design focuses on common use cases and optimization. Enhanced JavaScript functionality with SIMD, native code, and performance improvements. Challenges in JavaScript productivity, BUN adoption, deployment, and support. React support, community involvement, security, Next.js compatibility, and transition.
Compatibilidad con Node.js en Deno
Node Congress 2022Node Congress 2022
34 min
Compatibilidad con Node.js en Deno
Deno aims to provide Node.js compatibility to make migration smoother and easier. While Deno can run apps and libraries offered for Node.js, not all are supported yet. There are trade-offs to consider, such as incompatible APIs and a less ideal developer experience. Deno is working on improving compatibility and the transition process. Efforts include porting Node.js modules, exploring a superset approach, and transparent package installation from npm.
Bun, Deno, Node.js? Recreando un runtime de JavaScript desde cero - Entender la magia detrás de Node.js
Node Congress 2023Node Congress 2023
29 min
Bun, Deno, Node.js? Recreando un runtime de JavaScript desde cero - Entender la magia detrás de Node.js
Top Content
The Talk explores the magic behind Node.js and delves into its components, including V8, libuv, and the C++ bridge. It discusses the workflow and execution process, the use of NodeMod, and the understanding of console functions. The Talk also covers Node.js functions and scheduling, the introduction of runtimes, and the collaboration between JavaScript runtimes. It concludes with insights on content production, the choice of Node.js, and the inspiration behind it.
Evaluar todas las cadenas! - JavaScript endurecido
Node Congress 2023Node Congress 2023
8 min
Evaluar todas las cadenas! - JavaScript endurecido
NPM packages can be potentially dangerous, so it's important to be proactive in managing them. Lava Mode allows you to detect and investigate suspicious packages before deploying your app. Lavamote prevents unauthorized access to sensitive resources by isolating dependencies and using hardened JavaScript. Lava Mode makes it easier to analyze obfuscated files and understand their actions.
Crea tu propio tiempo de ejecución de JavaScript
Node Congress 2023Node Congress 2023
21 min
Crea tu propio tiempo de ejecución de JavaScript
This Talk introduces Deno, a custom JavaScript runtime similar to Node.js, and discusses the benefits of using a custom runtime. It explores the process of building a custom runtime with Deno in Rust, including the integration with Cargo and the ability to mix and match crates and APIs. The Talk also covers the implementation of the setTimeout function in both Run.js and Runtime.js, and provides examples of how to fix errors and implement additional functions. Overall, the Talk highlights the flexibility and possibilities of creating custom runtimes with Deno.

Workshops on related topic

Build Peer-to-Peer Applications with Pear Runtime
JSNation 2024JSNation 2024
152 min
Build Peer-to-Peer Applications with Pear Runtime
Top Content
WorkshopFree
David Mark Clements
David Mark Clements
Aprende a construir rápidamente aplicaciones peer-to-peer con Pear Runtime. No se requieren servidores. Comprende los paradigmas peer-to-peer y construye aplicaciones a partir de bloques de construcción bien definidos. Esta masterclass cubrirá cómo crear aplicaciones tanto para Desktop como para Terminal (con discusión para Mobile) que funcionen completamente peer-to-peer desde cualquier lugar del mundo. Al final de esta masterclass deberías saber cómo construir un nuevo tipo de aplicación altamente escalable con costos de infraestructura completamente reducidos (~0) junto con arquitecturas adecuadas y mejores prácticas para aplicaciones peer-to-peer. Del creador de Pear Runtime y la empresa que nos trae keet.io. Tabla de contenido:- Introducción a Pear- Preguntas y Respuestas Iniciales- Configuración Inicial- Creación de una Aplicación Pear para Desktop- Compartiendo una Aplicación Pear- Ejecutando una Aplicación Pear- Creación de una Aplicación Pear para Terminal- Lanzamiento de una Aplicación Pear- Discusiones Arquitectónicas- Preguntas y Respuestas de Cierre