Stress test with large lists, real-time filtering, sorting, and batch operations
Real-time metrics for stress testing LiveView performance
Add thousands of items and test real-time updates
No items yet. Click "Add 10/100/1000 Items" to start!
Full source code for performance testing
from djust import LiveView
class PerformanceTestView(LiveView):
"""
Performance test demo with large lists
"""
template_name = "demos/performance.html"
def mount(self, request, **kwargs):
self.items = []
self.next_id = 1
self.filter_text = ""
self.sort_by = "name"
def add_items_100(self):
"""Add 100 items for testing"""
new_items = self._generate_items(100)
self._items.extend(new_items)
def filter_items(self, value=""):
"""Real-time filtering"""
self.filter_text = value
def sort_items(self, value="name"):
"""Change sort order"""
self.sort_by = value
def toggle_item(self, **kwargs):
"""Toggle item selection"""
item_id = int(kwargs.get('id'))
for item in self._items:
if item['id'] == item_id:
item['selected'] = not item['selected']
break
@property
def items(self):
"""Return filtered and sorted items"""
return self._apply_filter_and_sort()
<!-- Add Items -->
<button @click="add_items_100">
Add 100 Items
</button>
<!-- Filter -->
<input type="text"
placeholder="Filter..."
@change="filter_items" />
<!-- Items List -->
{% for item in items %}
<div class="performance-item">
<input type="checkbox"
{% if item.selected %}checked{% endif %}
@change="toggle_item"
data-id="{{ item.id }}" />
<span>{{ item.name }}</span>
</div>
{% endfor %}
Rust-powered virtual DOM diffing generates minimal patches even with 1000+ items
Server-side filtering and sorting with instant client updates via WebSocket
Select, delete, and update multiple items in a single operation