Skip to content

Dev bench#9

Merged
volynetstyle merged 15 commits intomainfrom
dev-bench
Apr 8, 2026
Merged

Dev bench#9
volynetstyle merged 15 commits intomainfrom
dev-bench

Conversation

@volynetstyle
Copy link
Copy Markdown
Owner

No description provided.

- Updated the ConsumerReadMode documentation to clarify eager mode behavior.
- Simplified the readConsumer function by removing unnecessary context manipulation for eager mode.
- Enhanced runWatcher to ensure dead nodes are handled correctly and added checks for clean states.
- Improved executeNodeComputation to return early for disposed nodes.
- Added a new benchmark for comparing performance between class and object instantiation.
- Introduced a comprehensive disposal protocol document outlining rules and forbidden behaviors for node disposal.
- Cleaned up exports in the reflex package for better organization.
- Added ownership management with context and cleanup capabilities.
- Introduced reactive bridge to integrate with custom reactive engines.
- Created component and element renderable types for JSX support.
- Developed hooks for lifecycle management including useEffect and useSignal.
- Implemented context API for managing shared state across components.
- Enhanced testing suite to cover ownership lifecycle and context behavior.
- Updated TypeScript configuration for improved type checking and module resolution.
- Introduced MathML namespace and tags for rendering.
- Enhanced element binding to support shadow DOM and element internals.
- Improved management of form properties for input elements.
- Added tests for rendering MathML and shadow DOM integrations.
- Added createHydratedSlot and hydrateReactiveSlot functions to manage hydration of reactive slots.
- Introduced PORTAL_RENDERABLE and Portal component for rendering content into external DOM nodes.
- Enhanced renderWithRenderer to support hydration and resume functionality.
- Updated render lifecycle tests to verify preservation of DOM elements during rendering and disposal.
- Added server-side rendering capabilities with renderToString function.
- Implemented render range management for efficient DOM updates.
- Introduced markers for hydration slots to facilitate SSR and hydration processes.
- Implemented `mountReactiveSlot` and `hydrateReactiveSlot` functions for managing reactive slots in the DOM.
- Introduced `bindReactiveSlotLifecycle` to handle lifecycle events for reactive slots.
- Created `createMountedSlot` and `createHydratedSlot` for slot creation with content management.

refactor: enhance renderable kind classification

- Added `RenderableKind` enum to classify different renderable types.
- Implemented utility functions to check for empty, text, and tagged renderable values.
- Improved `classifyServerRenderable` to classify renderable values based on their type.

chore: add benchmarks for alien and solid signals

- Created benchmark files for `alien-signals` and `solid-signals` to evaluate performance.
- Implemented `AlienHarness` and `SolidHarness` classes to manage benchmarking for respective signal libraries.
- Added various scenarios to test signal performance under different conditions.

test: enhance shared benchmarking utilities

- Developed shared utilities for benchmarking, including metrics tracking and scenario management.
- Implemented functions for creating random number generators and unique index samplers for test scenarios.
- Removed the explicit passing of ExecutionContext in several functions, replacing it with a call to getDefaultContext() where necessary.
- Updated propagateBranch, propagateBranching, propagateOnce, and related functions to streamline context management.
- Adjusted tests and benchmarks to reflect the changes in context handling, ensuring compatibility and correctness.
- Improved performance by reducing unnecessary context parameter passing and enhancing code readability.
- Enhanced formatting and indentation in `shared.ts` for better readability.
- Simplified the `effect` function in `effect.ts` by removing unnecessary context parameter.
- Streamlined the `signal` function in `signal.ts` to eliminate unused options.
- Updated `index.ts` to include a reference path for TypeScript.
- Added a `batch` method to the `Runtime` interface in `runtime.ts` for better batch processing.
- Cleaned up the `EffectScheduler` class in `effect_scheduler.ts` by removing unused context variable.
- Refined resource management in `resource.ts` by removing unnecessary context parameters in read operations.
- Expanded test coverage in `reflex.scheduling.test.ts` to include new scenarios and ensure correctness.
- Introduced a new regression test suite for runtime walkers to validate graph semantics.
- Added Vite configuration for runtime tests to streamline the testing process.
…tate management

- Refactored propagation logic in `propagate.branch.ts` and `propagate.branching.ts` to enhance performance and clarity.
- Introduced new constants in `propagate.constants.ts` for better state management, including `SLOW_INVALIDATION_MASK`, `VISITED_MASK`, and `WATCHER_MASK`.
- Updated utility functions in `propagate.utils.ts` to utilize new constants and streamline state checks.
- Enhanced error handling in `notifyWatcherInvalidation` to ensure proper error propagation.
- Updated tests to reflect changes in the propagation logic and ensure stability.
- Modified the effect scheduler to improve handling of queued nodes and flushing behavior.
- Adjusted signal and computed functions to return typed accessors for better type safety.
@volynetstyle volynetstyle merged commit 8dd8008 into main Apr 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant