Skip to content

Conversation

@milomg
Copy link
Member

@milomg milomg commented Jan 18, 2026

Summary

Use fused linked lists to make v1 signals faster.

Before:

createDataSignals: 4
createComputations0to1: 4
createComputations1to1: 8
createComputations2to1: 6
createComputations4to1: 5
createComputations1000to1: 4
createComputations1to2: 7
createComputations1to4: 6
createComputations1to8: 6
createComputations1to1000: 6
create total: 56
---
updateComputations1to1: 32
updateComputations2to1: 19
updateComputations4to1: 13
updateComputations1000to1: 23
updateComputations1to2: 27
updateComputations1to4: 26
updateComputations1to1000: 21
update total: 161
total: 217

After

createDataSignals: 2
createComputations0to1: 4
createComputations1to1: 6
createComputations2to1: 5
createComputations4to1: 4
createComputations1000to1: 4
createComputations1to2: 6
createComputations1to4: 6
createComputations1to8: 5
createComputations1to1000: 5
create total: 48
---
updateComputations1to1: 26
updateComputations2to1: 14
updateComputations4to1: 9
updateComputations1000to1: 11
updateComputations1to2: 20
updateComputations1to4: 18
updateComputations1to1000: 16
update total: 115
total: 163

How did you test this change?

pnpm run test (I'm not sure if our test coverage of Suspense will catch everything here though)

@changeset-bot
Copy link

changeset-bot bot commented Jan 18, 2026

🦋 Changeset detected

Latest commit: a49638c

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 4 packages
Name Type
solid-js Major
babel-preset-solid Major
solid-element Major
test-integration Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coveralls
Copy link

Pull Request Test Coverage Report for Build 21104319443

Details

  • 108 of 111 (97.3%) changed or added relevant lines in 1 file are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+1.0%) to 86.228%

Changes Missing Coverage Covered Lines Changed/Added Lines %
packages/solid/src/reactive/signal.ts 108 111 97.3%
Totals Coverage Status
Change from base Build 18890830103: 1.0%
Covered Lines: 2415
Relevant Lines: 2729

💛 - Coveralls

@ryansolid ryansolid changed the base branch from main to beta January 26, 2026 16:38
@milomg milomg marked this pull request as ready for review January 26, 2026 16:58
@ryansolid ryansolid merged commit b6e04e6 into solidjs:beta Jan 26, 2026
1 check passed
if (!TransitionRunning) node.value = value;
} else node.value = value;
if (node.observers && node.observers.length) {
if (node.observers && node.observers) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if (node.observers && node.observers) {

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.

4 participants