-
-
Notifications
You must be signed in to change notification settings - Fork 534
Description
Provide environment information
System:
OS: macOS 14.6.1
CPU: (10) arm64 Apple M1 Max
Memory: 10.66 GB / 64.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 22.12.0 - ~/.local/state/fnm_multishells/11710_1735975103374/bin/node
Yarn: 1.22.22 - /opt/homebrew/bin/yarn
npm: 10.9.0 - ~/.local/state/fnm_multishells/11710_1735975103374/bin/npm
pnpm: 9.15.2 - /opt/homebrew/bin/pnpm
bun: 1.1.42 - /opt/homebrew/bin/bun
Watchman: 2024.09.30.00 - /opt/homebrew/bin/watchman
Describe the bug
🐛 Bug: t3-turbo API routes significantly slower than create-t3-app using the same Supabase setup
📝 Description
I've noticed a significant performance difference between the t3-turbo template and the create-t3-app template when interacting with the backend. Specifically, the post.create, post.all and post.getLatest routes take 1 to 1.4 seconds in t3-turbo, whereas similar API routes in create-t3-app take around 300 to 650 ms.
Update 11.Jan.2025 : Requests time are about 150ms for create-t3-app and 1000 -1300 ms for create-t3-turbo when removing the artifical delay (both use the same supabase DB connection)
Both projects were tested under similar conditions:
- Database: Supabase (Postgres) using transaction pooler connection string.
- ORM: Drizzle.
- API Client: tRPC.
- Network: Fast internet connection (~200 Mbps download, ~50 Mbps upload).
- Location: Europe (matching the Supabase region).
- Auth: Default auth setup via discord
| Setup | Route | Time (ms) |
|---|---|---|
| t3-turbo | post.all | ~1000-1400ms |
| t3-turbo | post.create | ~1000-1300ms |
| create-t3-app | post.getLatest | ~300-650ms |
| create-t3-app | post.create | ~300-650ms |
🖼️ Screenshots for Comparison
✅ create-t3-app
🐢 t3-turbo
To reproduce
Steps to Reproduce
create-t3-turbo.post.create and post.all tRPC routes using browser dev tools.create-t3-app with the same database.