This repository was archived by the owner on Aug 2, 2026. It is now read-only.
v0.4.10
MeoNode UI v0.4.10 – Performance & Unmounter Fixes
Release Date: 2025-11-20
Fixes
- unmounter: prevent redundant FinalizationRegistry callbacks (
59f5adf)- Explicitly unregister node from cacheCleanupRegistry on unmount
- Prevents double cleanup when node is both unmounted and GC'd
- Improves cleanup efficiency and reduces unnecessary registry callbacks
Perf
-
util: optimize prop processing and child handling (
be26488)- Conditional sort: only sort keys if length > 1 (eliminates unnecessary sorts)
- Replace for...in with Object.keys() iteration for better performance and safety
- Add fast path for single child processing (non-array or 1-element array)
- Avoid unnecessary array operations for common single-child case
- Performance impact:
- Reduced CPU overhead for small prop objects
- Faster iteration with Object.keys() vs for...in
- Eliminates array map() call for single child components
-
core: add exception safety and optimize render method (
5aad000)- Wrap render logic in try-finally to ensure renderContext is always released
- Null out workStack slots before releasing to help GC
- Pre-allocate finalChildren array to avoid resizing during iteration
- Replace non-null assertion with explicit error handling for better debugging
- Add object pooling for workStack and renderedElements (reduces GC pressure)
- Pool capped at 50 contexts with 2048-item limit to prevent memory issues
- Exception safety ensures cleanup even if rendering throws
Test
-
perf: add React comparison tests with memory tracking (
bc66d54)- Add comprehensive performance comparison between React.createElement and MeoNode
- Test both flat (10k nodes) and nested (5k nodes) structures
- Include memory usage measurements (initial + after 100 updates)
- Reduce nested nodes from 10k to 5k to prevent stack overflow with StyledRenderer
- Add table output with time and memory columns for clear comparison
- Add GC availability warning for accurate measurements
- Provides detailed performance and memory behavior insights during re-renders
- Avoids stack overflow in deeply nested test scenarios
-
performance: enhance performance metrics report formatting and adjust thresholds (
6f3abe4)- Improve table formatting for performance metrics
- Adjust test thresholds based on optimization results
- Enhanced reporting for better visibility into performance characteristics
Version Update
- Current version: 0.4.10