Skip to Content
overviewPerformance

Last Updated: 3/9/2026


Performance & Benchmarks

Benchmarks are only benchmarks, but they are important to us. Hono is designed to be fast, and the numbers prove it.

TL;DR

  • Hono is the fastest framework for Cloudflare Workers
  • Hono is the fastest framework for Deno
  • Hono is one of the fastest frameworks for Bun
  • RegExpRouter is the fastest router in the JavaScript world

Router Benchmarks

We measured the speeds of various JavaScript routers against real-world routing patterns.

Tested Routers

  • Hono (RegExpRouter, TrieRouter, LinearRouter)
  • @medley/router
  • find-my-way (used in Fastify)
  • koa-tree-router
  • trek-router
  • express (includes handling)
  • koa-router

Test Routes

We registered routing patterns similar to real-world applications:

const routes = [ { method: 'GET', path: '/user' }, { method: 'GET', path: '/user/comments' }, { method: 'GET', path: '/user/avatar' }, { method: 'GET', path: '/user/lookup/username/:username' }, { method: 'GET', path: '/user/lookup/email/:address' }, { method: 'GET', path: '/event/:id' }, { method: 'GET', path: '/event/:id/comments' }, { method: 'POST', path: '/event/:id/comment' }, { method: 'GET', path: '/map/:location/events' }, { method: 'GET', path: '/status' }, { method: 'GET', path: '/very/deeply/nested/route/hello/there' }, { method: 'GET', path: '/static/*' }, ]

Test Requests

const requests = [ { name: 'short static', method: 'GET', path: '/user' }, { name: 'static with same radix', method: 'GET', path: '/user/comments' }, { name: 'dynamic route', method: 'GET', path: '/user/lookup/username/hey' }, { name: 'mixed static dynamic', method: 'GET', path: '/event/abcd1234/comments' }, { name: 'post', method: 'POST', path: '/event/abcd1234/comment' }, { name: 'long static', method: 'GET', path: '/very/deeply/nested/route/hello/there' }, { name: 'wildcard', method: 'GET', path: '/static/index.html' }, ]

Results on Node.js

Hono’s RegExpRouter consistently outperforms other routers across all test cases on Node.js.

Results on Bun

On Bun, Hono maintains its performance advantage, leveraging Bun’s optimized JavaScript engine.

Cloudflare Workers Benchmarks

Hono is the fastest framework for Cloudflare Workers.

Test Environment

Results

Hono x 402,820 ops/sec ±4.78% (80 runs sampled) itty-router x 212,598 ops/sec ±3.11% (87 runs sampled) sunder x 297,036 ops/sec ±4.76% (77 runs sampled) worktop x 197,345 ops/sec ±2.40% (88 runs sampled) Fastest is Hono ✨ Done in 28.06s.

Hono is nearly 2x faster than the second-place router.

Deno Benchmarks

Hono is the fastest framework for Deno.

Test Environment

  • Machine: Apple MacBook Pro, 32 GiB, M1 Pro
  • Deno Version: v1.22.0
  • Scripts: benchmarks/deno 
  • Method: bombardier --fasthttp -d 10s -c 100 'http://localhost:8000/user/lookup/username/foo'

Results

FrameworkVersionRequests/sec
Hono3.0.0136,112
Fast4.0.0-beta.1103,214
Megalo0.3.064,597
Faster5.754,801
oak10.5.143,326
opine2.2.030,700

Hono is 32% faster than the second-place framework and 4.4x faster than oak.

Additional benchmarks: denosaurs/bench 

Bun Benchmarks

Hono is one of the fastest frameworks for Bun.

See comprehensive results: SaltyAom/bun-http-framework-benchmark 

Why Hono is Fast

RegExpRouter: The Secret Sauce

Unlike traditional routers that use linear loops (checking each route sequentially), RegExpRouter compiles all routes into one large regular expression. This means:

  • Single match operation instead of multiple iterations
  • O(1) complexity for route matching in most cases
  • No performance degradation as you add more routes

Multiple Router Strategy

Hono includes multiple routers optimized for different scenarios:

  • RegExpRouter — Fastest for most cases
  • TrieRouter — Handles all route patterns
  • LinearRouter — Optimized for “one-shot” environments
  • SmartRouter — Automatically selects the best router

Lightweight by Design

  • Zero dependencies
  • Tree-shakeable — Only bundle what you use
  • Under 14KB with hono/tiny preset
  • Pure Web Standards — No polyfills needed

Benchmark Methodology

All benchmarks are:

  • Open source — Check the code yourself
  • Reproducible — Run them on your machine
  • Real-world patterns — Not artificial micro-benchmarks
  • Multiple scenarios — Static, dynamic, wildcard routes

Performance Tips

Want to squeeze even more performance? See our Best Practices guide for optimization techniques.

What’s Next