Repository navigation
Conversation
|
@aioya is attempting to deploy a commit to the varletjs Team on Vercel. A member of the Team first needs to authorize it. |
@varlet/cli
@varlet/icons
@varlet/import-resolver
@varlet/preset-tailwindcss
@varlet/preset-unocss
@varlet/shared
@varlet/touch-emulator
@varlet/ui
@varlet/use
@varlet/vite-plugins
commit: |
aioya
force-pushed
the
codex/algorithm-hotspots
branch
from
October 23, 2026 03:39
bb5cf64 to
8f2fedc
Compare
Collaborator
Author
|
量化对比(隔离算法微基准):在同一台 arm64 macOS 15.8.1、Node v24.21.0 环境中,对改动前后的核心循环使用相同输入;每组先预热,再取 11 次样本的每操作耗时中位数。表中数值是 3 次独立进程运行的中位数,越低越好。每组比较均先检查输出一致。
三次运行的原始结果(改动前 → 改动后,单位 ms/次):
这是核心算法的合成负载,未计入 Vue 渲染、DOM 和浏览器布局,不能直接换算成用户实际感受到的整组件提速。500 层树特意放大了重复遍历;普通浅树的收益会更小。基准脚本未提交到 PR 分支。 |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Checklist
Change information
Optimize three collection hot paths in priority order, each in a separate implementation commit:
Setonce per sync. Both the model array and option keys use VuetoRaw, preserving object-value selection with reactive arrays. A regression test covers initial selection and external model updates.useChildrenindexes VNodes once before sorting child instances. First-match and missing-node behavior is retained.169 tests passed across Select, MenuSelect, Option, Tabs, Collapse, and DataTable. The
varlet-useTypeScript check, lint, and formatting passed. Quantitative before/after results are in the PR discussion.Issues
No issue is being closed. Keeping this PR in draft for maintainer discussion of the performance evidence and implementation trade-offs.