DEV Community

Cover image for PrinceJS vs Hono vs Express vs Elysia: Benchmarking the Fastest Bun Frameworks in 2025
Little Prince
Little Prince

Posted on • Originally published at dev.to

PrinceJS vs Hono vs Express vs Elysia: Benchmarking the Fastest Bun Frameworks in 2025

If you're building a backend with Bun in 2025 and you care about raw performance, you've probably looked at Hono and Elysia. They're fast. But there's a new framework sitting comfortably in the top three — and it was built by a 13-year-old from Nigeria.

That framework is PrinceJS.

This post breaks down the real benchmark numbers, what they mean for your application, and why PrinceJS might be the right choice even though it isn't the fastest framework in the list.


The Real Benchmark Numbers

All benchmarks were run with oha -c 100 -z 30s on Windows 10. Same machine, same conditions, no tricks.

Framework Req/s Total Requests
Elysia 25,312 759k
Hono 22,124 664k
PrinceJS 21,748 653k
Express 9,325 280k

PrinceJS hits 21,748 requests per second — third globally among Bun frameworks and 2.3x faster than Express.

Elysia leads the pack, Hono is second, and PrinceJS is right behind at third. The gap between Hono and PrinceJS is about 1.7%. The gap between PrinceJS and Express is enormous.


Why PrinceJS is Competitive Despite Being Third

Raw req/s isn't the only metric that matters. Here's the full picture:

Framework Req/s Bundle Size
Elysia 25,312 ~22kb
Hono 22,124 ~14kb
PrinceJS 21,748 4.8kb gzipped
Express 9,325 200kb+

PrinceJS is the smallest Bun framework in this comparison at 4.8kb gzipped. That bundle size is why PrinceJS loads in 97 milliseconds on Slow 3G — a real-world metric that req/s benchmarks don't capture.

For developers building APIs that start up quickly, edge functions, or any backend where cold start time matters — the bundle size difference between PrinceJS and Elysia is meaningful.


What PrinceJS Actually Ships

Despite being 4.8kb gzipped, PrinceJS ships a remarkably complete feature set. This isn't a minimal micro-framework — it's a full-featured framework that's been engineered to stay small.

Feature Import
Routing princejs
Middleware (CORS, Logger, Rate Limit, Auth, JWT) princejs/middleware
Zod Validation princejs/middleware
Cookies & IP Detection princejs
File Uploads princejs/helpers
WebSockets princejs
Server-Sent Events princejs/helpers
Sessions princejs/middleware
Response Compression princejs/middleware
In-memory Cache princejs/helpers
Cron Scheduler princejs/scheduler
OpenAPI + Scalar Docs princejs
JSX / SSR princejs/jsx
SQLite Database princejs/db
Plugin System princejs
End-to-End Type Safety princejs/client
Deploy Adapters (Vercel, Cloudflare, Deno, Node) princejs/vercel etc.
Lifecycle Hooks princejs

This is the full feature list of a production-ready framework, shipping in 4.8kb gzipped.


Getting Started

bun add princejs
# or
npm install princejs
Enter fullscreen mode Exit fullscreen mode

A complete server with middleware in under 10 lines:

import { prince } from "princejs";
import { cors, logger } from "princejs/middleware";

const app = prince();

app.use(cors());
app.use(logger());

app.get("/", () => ({ message: "Hello PrinceJS!" }));
app.get("/users/:id", (req) => ({ id: req.params.id }));

app.listen(3000);
Enter fullscreen mode Exit fullscreen mode

PrinceJS vs Hono vs Elysia — Which Should You Use?

Use PrinceJS if:

  • Bundle size and cold start time matter (edge functions, serverless, mobile backends)
  • You want the most complete feature set in the smallest package
  • You need deploy adapters for Vercel, Cloudflare Workers, Deno, or Node
  • You want built-in OpenAPI docs, SQLite, WebSockets, and SSE without adding dependencies

Use Elysia if:

  • You need the absolute maximum raw req/s
  • You're heavily TypeScript-first and want Elysia's type system

Use Hono if:

  • You need Hono's specific middleware ecosystem
  • You're deploying to Cloudflare Workers natively
  • You want the second-fastest option with a larger community

The One-Line Summary

PrinceJS is the third fastest Bun framework in the world, 2.3x faster than Express, ships in 4.8kb gzipped with a full production feature set, and was built in three days by a 13-year-old from Abuja, Nigeria.

bun add princejs
Enter fullscreen mode Exit fullscreen mode

Website: princejs.vercel.app
npm: npmjs.com/package/princejs
GitHub: github.com/MatthewTheCoder1218/princejs
X: @Lil_Prince_1218

Top comments (0)