dataTable/TEST.md

45 lines
1.7 KiB
Markdown

# DataTable Performance Tracking
## v1.0.6: Final Binding & Style Fixes
- **Data**: 10,000 items, 10 columns.
- **Scroll Test**: 100 scrolls.
- **Results**:
- averageRefreshTime: **0.05ms** per frame (Tested with Playwright)
- **Improvements**:
- Fixed all binding TypeErrors using defensive optional chaining.
- Refined ASC/DESC button group styles for a professional UI.
- Optimized Column Menu activation sequence (Data -> Refresh -> Set ID).
## v1.0.5: Enhanced Functionality
- **Data**: 10,000 items, 10 columns.
- **Scroll Test**: 100 scrolls.
- **Results**:
- averageRefreshTime: **0.07ms** per frame (Tested with Playwright)
- **Features**:
- Real-time Column Resizing (via CSS Variables).
- Advanced Column Menu (Radio Sort, Type-specific Filter Tabs).
- Excel-style Frequent Values Filter (Top 20).
- High Compatibility for legacy tests.
## v1.0.4: Extreme Optimization (Restored)
- **Data**: 10,000 items, 10 columns.
- **Scroll Test**: 100 scrolls.
- **Results**:
- refreshTime (total): ~103ms (for 100 frames)
- averageRefreshTime: **1.03ms** per frame
- **Optimizations**:
- Full Event Delegation (MouseDown/MouseOver/DblClick).
- CSS Grid Layout (Removed thousands of per-cell `$style` bindings).
- Synchronous Scroll Handling (Removed rAF to ensure zero-latency補位).
- Native Context Access (`_ref`) for zero-cost item resolution.
- Targeted Row Refresh for Paste/Edit operations.
- Manual DOM Spacers (Removed `$if` to prevent scroll anchoring jumps).
## v1.0.0: Minimal Foundation
- **Data**: 10,000 items, 1 column.
- **Scroll Test**: 100 scrolls (20,000px total).
- **Results**:
- refreshCount: 101
- refreshTime (total): ~45.7ms
- averageRefreshTime: 0.45ms