Skip to content

Add lazy object key index#12

Merged
uesleibros merged 2 commits into
vbacollective:mainfrom
iDavi:agent/lazy-object-key-index
Jul 9, 2026
Merged

Add lazy object key index#12
uesleibros merged 2 commits into
vbacollective:mainfrom
iDavi:agent/lazy-object-key-index

Conversation

@iDavi

@iDavi iDavi commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • build normalized object-key entries lazily after repeated lookups on wide objects
  • keep the direct sibling scan for the first lookup and small objects
  • use late-bound Scripting.Dictionary so no project reference is required
  • normalize escaped JSON member names while building the index

Why

Repeated reads from wide objects scanned all sibling tokens for every key lookup. The lazy index provides expected constant-time lookup after its one-time build.

Notes

This overlaps the escaped-member-name normalization in #7; merge/rebase #7 first if both drafts are accepted.

Validation

  • reviewed index creation, duplicate-key first-match behavior, and document-reset lifecycle statically
  • no VBA runtime or test suite is available in this environment

Closes #2

@uesleibros uesleibros marked this pull request as ready for review July 9, 2026 22:34
@uesleibros uesleibros merged commit 387673b into vbacollective:main Jul 9, 2026
1 check passed
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.

perf(FindChildFast): lazily index wide objects for repeated key lookups

2 participants