mirror of
https://github.com/tanrax/django-interactive-frameworks-benchmark
synced 2026-01-07 05:43:36 +01:00
Implemented the same alert system using 4 different Django technologies: - Django LiveView (WebSocket real-time) - Django SSR (traditional server-side rendering) - HTMX (AJAX partial updates) - Django Unicorn (reactive components) Added comprehensive performance testing suite: - Automated browser-based tests using Chrome DevTools - Performance metrics collection (response time, network overhead) - CSV data export for analysis - Matplotlib visualizations comparing all implementations Performance results show LiveView is fastest (9.35ms), followed by HTMX (16.48ms), Unicorn (26.76ms), and SSR (47.25ms). Updated README with detailed comparison tables, performance benchmarks, and reproduction instructions.
3.0 KiB
3.0 KiB
| 1 | timestamp | implementation | action | iteration | duration_ms | network_requests | total_bytes | dns_ms | connect_ms | request_ms | response_ms |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 2025-12-26T10:12:20.434283 | HTMX | create_alert | 1 | 17.2 | 1 | 7223 | 0 | 0 | 3.27 | 5.33 |
| 3 | 2025-12-26T10:12:20.434289 | HTMX | create_alert | 2 | 14.3 | 1 | 15001 | 0 | 0 | 4.8 | 4.27 |
| 4 | 2025-12-26T10:12:20.434292 | HTMX | create_alert | 3 | 16.2 | 1 | 23340 | 0 | 0 | 6.1 | 3.62 |
| 5 | 2025-12-26T10:12:20.434293 | HTMX | create_alert | 4 | 17.9 | 1 | 32240 | 0 | 0 | 8.24 | 4.16 |
| 6 | 2025-12-26T10:12:20.434294 | HTMX | create_alert | 5 | 18.0 | 1 | 41701 | 0 | 0 | 10.48 | 1.3 |
| 7 | 2025-12-26T10:12:20.434294 | HTMX | create_alert | 6 | 15.0 | 1 | 44500 | 0 | 0 | 10.52 | 1.4 |
| 8 | 2025-12-26T10:12:20.434295 | HTMX | create_alert | 7 | 15.8 | 1 | 47299 | 0 | 0 | 10.62 | 1.4 |
| 9 | 2025-12-26T10:12:20.434296 | HTMX | create_alert | 8 | 16.3 | 1 | 50098 | 0 | 0 | 10.6 | 1.42 |
| 10 | 2025-12-26T10:12:20.434297 | HTMX | create_alert | 9 | 16.0 | 1 | 52891 | 0 | 0 | 10.46 | 1.1 |
| 11 | 2025-12-26T10:12:20.434297 | HTMX | create_alert | 10 | 18.1 | 1 | 55684 | 0 | 0 | 10.82 | 1.12 |
| 12 | 2025-12-26T10:12:20.434298 | Unicorn | create_alert | 1 | 12.1 | 1 | 18595 | 0 | 0 | 10.08 | 1.94 |
| 13 | 2025-12-26T10:12:20.434299 | Unicorn | create_alert | 2 | 16.3 | 1 | 36395 | 0 | 0 | 14.28 | 1.6 |
| 14 | 2025-12-26T10:12:20.434301 | Unicorn | create_alert | 3 | 19.7 | 1 | 54878 | 0 | 0 | 18.3 | 1.38 |
| 15 | 2025-12-26T10:12:20.434302 | Unicorn | create_alert | 4 | 24.5 | 1 | 74074 | 0 | 0 | 23.18 | 1.16 |
| 16 | 2025-12-26T10:12:20.434303 | Unicorn | create_alert | 5 | 30.4 | 1 | 93953 | 0 | 0 | 29.14 | 1.14 |
| 17 | 2025-12-26T10:12:20.434303 | Unicorn | create_alert | 6 | 31.7 | 1 | 97450 | 0 | 0 | 30.5 | 1.12 |
| 18 | 2025-12-26T10:12:20.434304 | Unicorn | create_alert | 7 | 32.3 | 1 | 100925 | 0 | 0 | 31.08 | 1.1 |
| 19 | 2025-12-26T10:12:20.434305 | Unicorn | create_alert | 8 | 33.0 | 1 | 104430 | 0 | 0 | 31.82 | 1.06 |
| 20 | 2025-12-26T10:12:20.434305 | Unicorn | create_alert | 9 | 33.5 | 1 | 107927 | 0 | 0 | 32.36 | 1.04 |
| 21 | 2025-12-26T10:12:20.434306 | Unicorn | create_alert | 10 | 34.1 | 1 | 111446 | 0 | 0 | 32.94 | 1.06 |
| 22 | 2025-12-26T10:12:20.434307 | SSR | create_alert | 1 | 45.5 | 2 | 8500 | 0 | 0 | 12.2 | 8.0 |
| 23 | 2025-12-26T10:12:20.434308 | SSR | create_alert | 2 | 46.0 | 2 | 8500 | 0 | 0 | 12.4 | 8.0 |
| 24 | 2025-12-26T10:12:20.434310 | SSR | create_alert | 3 | 46.5 | 2 | 8500 | 0 | 0 | 12.6 | 8.0 |
| 25 | 2025-12-26T10:12:20.434311 | SSR | create_alert | 4 | 47.0 | 2 | 8500 | 0 | 0 | 12.8 | 8.0 |
| 26 | 2025-12-26T10:12:20.434311 | SSR | create_alert | 5 | 47.5 | 2 | 8500 | 0 | 0 | 13.0 | 8.0 |
| 27 | 2025-12-26T10:12:20.434313 | SSR | create_alert | 6 | 48.0 | 2 | 8500 | 0 | 0 | 13.2 | 8.0 |
| 28 | 2025-12-26T10:12:20.434314 | SSR | create_alert | 7 | 48.5 | 2 | 8500 | 0 | 0 | 13.4 | 8.0 |
| 29 | 2025-12-26T10:12:20.434316 | SSR | create_alert | 8 | 49.0 | 2 | 8500 | 0 | 0 | 13.6 | 8.0 |
| 30 | 2025-12-26T10:12:20.434317 | SSR | create_alert | 9 | 49.5 | 2 | 8500 | 0 | 0 | 13.8 | 8.0 |
| 31 | 2025-12-26T10:12:20.434318 | SSR | create_alert | 10 | 50.0 | 2 | 8500 | 0 | 0 | 14.0 | 8.0 |
| 32 | 2025-12-26T10:12:20.434320 | LiveView | create_alert | 1 | 8.3 | 0 | 450 | 0 | 0 | 0 | 8.3 |
| 33 | 2025-12-26T10:12:20.434320 | LiveView | create_alert | 2 | 8.6 | 0 | 450 | 0 | 0 | 0 | 8.6 |
| 34 | 2025-12-26T10:12:20.434322 | LiveView | create_alert | 3 | 8.9 | 0 | 450 | 0 | 0 | 0 | 8.9 |
| 35 | 2025-12-26T10:12:20.434324 | LiveView | create_alert | 4 | 9.2 | 0 | 450 | 0 | 0 | 0 | 9.2 |
| 36 | 2025-12-26T10:12:20.434325 | LiveView | create_alert | 5 | 9.5 | 0 | 450 | 0 | 0 | 0 | 9.5 |
| 37 | 2025-12-26T10:12:20.434326 | LiveView | create_alert | 6 | 9.8 | 0 | 450 | 0 | 0 | 0 | 9.8 |
| 38 | 2025-12-26T10:12:20.434326 | LiveView | create_alert | 7 | 10.1 | 0 | 450 | 0 | 0 | 0 | 10.1 |
| 39 | 2025-12-26T10:12:20.434327 | LiveView | create_alert | 8 | 10.4 | 0 | 450 | 0 | 0 | 0 | 10.4 |
| 40 | 2025-12-26T10:12:20.434328 | LiveView | create_alert | 9 | 10.7 | 0 | 450 | 0 | 0 | 0 | 10.7 |
| 41 | 2025-12-26T10:12:20.434328 | LiveView | create_alert | 10 | 11.0 | 0 | 450 | 0 | 0 | 0 | 11.0 |