]> git.ipfire.org Git - thirdparty/vuejs/core.git/commit
refactor(reactivity): use more efficient reactive checks
authorEvan You <yyx990803@gmail.com>
Sat, 2 May 2020 20:16:51 +0000 (16:16 -0400)
committerEvan You <yyx990803@gmail.com>
Sat, 2 May 2020 20:58:17 +0000 (16:58 -0400)
commitd901b6bea885aa31bcaf04ccbcd64188f4bad97a
treedee8aba4618ca3872af816a51a3dd84e1281da11
parent36972c20b5c2451c8345361f9c015655afbfdd87
refactor(reactivity): use more efficient reactive checks

WeakSets and WeakMaps shows degrading performance as the amount of
observed objects increases. Using hidden keys result in better
performance especially when repeatedly creating large amounts of
reactive proxies.

This also makes it possible to more efficiently declare non-reactive
objects in userland.
13 files changed:
packages/reactivity/src/baseHandlers.ts
packages/reactivity/src/collectionHandlers.ts
packages/reactivity/src/computed.ts
packages/reactivity/src/index.ts
packages/reactivity/src/reactive.ts
packages/reactivity/src/ref.ts
packages/runtime-core/__tests__/misc.spec.ts [new file with mode: 0644]
packages/runtime-core/__tests__/vnode.spec.ts
packages/runtime-core/src/component.ts
packages/runtime-core/src/componentProxy.ts
packages/runtime-core/src/h.ts
packages/runtime-core/src/vnode.ts
packages/shared/src/index.ts