Performance PhilosophyOct 30, 2025

The 100ms
Budget

Engineering for human perception. Why 100 milliseconds is the boundary between "instant" and "waiting", and how we stay under it.

Live Latency
0ms
100ms

Human Perception

The human brain perceives delays differently at different thresholds. Understanding these boundaries defines our performance targets.

16ms
60 FPS
Smooth animation
100ms
Instant
Feels immediate
300ms
Fast
Noticeable delay
1000ms
Slow
User waits
3000ms
Timeout
User leaves
< 100ms
Instant

User feels in control. Cause and effect are directly connected. This is our target.

100-300ms
Fast

User notices delay but stays engaged. Acceptable for non-critical interactions.

> 1000ms
Broken

User loses focus. Mind wanders. In trading, opportunities are missed.

Spending the Budget

100ms isn't much. Every component gets a slice, and there's no borrowing from tomorrow.

100ms Budget Allocation73ms / 100ms
Network RTT15ms / 20ms
Server Processing25ms / 30ms
Database Query20ms / 25ms
Serialization5ms / 15ms
Client Render8ms / 10ms
Actual
Budget Limit
0msg/s
The Math

Price update arrives

↓ 15ms network

Process & calculate

↓ 5ms processing

Internal service hop

↓ 20ms network

Broadcast to client

↓ 15ms network

Render update

↓ 8ms render

Total: ~73ms ✓ Under budget

How We Got There

Every millisecond was earned through specific optimizations.

JSON → Protobuf

50ms5ms

Binary serialization eliminates parsing overhead. 10x improvement in serialization time.

WebSocket → gRPC

35ms20ms

HTTP/2 multiplexing and persistent streams reduce connection overhead.

Node → Bun

45ms12ms

Native TypeScript execution and optimized V8 bindings.

React Renders

25ms8ms

Memoization, virtualization, and surgical state updates.

Staying Under Budget

Performance isn't a one-time achievement. It's a constant discipline.

Performance Budgets

CI/CD fails if P95 latency exceeds threshold. No exceptions, no overrides.

Real User Monitoring

Synthetic benchmarks lie. We measure from real users, real networks, real devices.

Instant Alerts

CONNECTED

Latency spike at 3am? We know about it before our users wake up.

Every Millisecond Matters

In real-time trading, latency isn't just a technical metric, it's the difference between seeing an opportunity and missing it. We obsess over milliseconds so our users don't have to.

Sub-100msReal-TimeObservableOptimized