Performance Benchmarks
Rust VDOM and server-rendering metrics for teams evaluating the djust 1.0 release candidates. Reproduce the numbers, then test them against your own Django views.
Template Rendering Speed
Rendering 10,000 iterations of a typical dashboard template (200 LOC, 15 variables, 3 loops). Lower is better.
VDOM Diffing Performance
Time to diff and generate patches for a complex component (100 DOM nodes, 20% change rate). Lower is better.
Client Bundle Size
Minified and gzipped JavaScript sent to the client. Smaller bundles mean faster initial page loads.
Server Memory Usage
Memory usage per concurrent WebSocket connection. Lower is better for scaling.
Request Throughput
Requests per second handled on a single server (4 cores, 8GB RAM). Higher is better.
Methodology
Test Environment
- • AWS EC2 c5.xlarge (4 vCPUs, 8GB RAM)
- • Ubuntu 22.04 LTS
- • Python 3.11, Elixir 1.15, PHP 8.2
- • PostgreSQL 15 (localhost)
Benchmarking Tools
- • wrk2 for HTTP load testing
- • hyperfine for command-line benchmarks
- • criterion for Rust microbenchmarks
- • Custom WebSocket load tester (10,000 concurrent connections)
Test Application
- • Real-time dashboard with 15 widgets
- • Updates every 2 seconds via WebSocket
- • PostgreSQL queries (5 simple, 2 joins)
- • ~200 LOC template, ~100 DOM nodes
Reproducibility
Benchmarks should be treated as reproducible engineering signals, not marketing magic. See our benchmarks repository for details, then compare against your own workload.
Experience the Performance Yourself
See djust's speed in action. Explore examples or run benchmarks locally.