-
-
Notifications
You must be signed in to change notification settings - Fork 9k
refactor(reactivity, runtime-core): improve performance-critical code #13274
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
✅ Deploy Preview for vapor-repl ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
@vue/compiler-core
@vue/compiler-dom
@vue/compiler-sfc
@vue/compiler-ssr
@vue/compiler-vapor
@vue/reactivity
@vue/runtime-core
@vue/runtime-dom
@vue/runtime-vapor
@vue/server-renderer
@vue/shared
vue
@vue/compat
commit: |
791678a to
9e61c83
Compare
883ae36 to
a15d847
Compare
af9650e to
03566c6
Compare
36ecfe0 to
0666601
Compare
Size ReportBundles
Usages
|
|
/ecosystem-ci run |
|
📝 Ran ecosystem CI: Open
|
|
Looks like many of the failed ecosystem-ci cases are type/build related. Runtime behavior is good enough for pass for quasar and nuxt, so merging for now. @johnsoncodehk will further resolve ecosystem-ci issues before official 3.6 release. |
Reactivity Changes
RefImplevaluation to prevent unnecessary computationsEffectFlagshandlingNOTIFIEDflagremoved(Reverted in fix(reactivity): add back STOP flag #13605)STOPflagReactiveEffect/EffectScopeby avoidingcleanupslength changessetCurrentScope()methodEffect System Refactoring
Effect:
onStoppropertyschedulermethod (logic merged intonotify)EffectScope:
link()for hierarchical relationshipssubs,subsTail,cleanupsLengthpropertieseffects,parent,scopes,index,_on,detached,prevScopeon/offmethods with usingsetCurrentScopeWatcher:
schedulerandaugmentJoboptions)Runtime-Core Changes
setCurrentInstancenow returns previous instance instead of cleanup functionsimpleSetCurrentInstanceandinternalSetCurrentInstanceunsetCurrentInstancemethodsetActiveSub(undefined)instead ofpauseTracking()internallyAPI Refactoring
Reactivity APIs:
watch(),watchEffect(),renderEffect()Scheduler:
queueJobnow requiresuidandisPreparametersqueuePostFlushCbrequiresuidparameterflushPostFlushCbsperformance