Skip to content

move a bunch around for publishing next package#49

Merged
SlexAxton merged 4 commits into
mainfrom
alex/sync/other-endpoints-to-pkg
Oct 14, 2025
Merged

move a bunch around for publishing next package#49
SlexAxton merged 4 commits into
mainfrom
alex/sync/other-endpoints-to-pkg

Conversation

@SlexAxton

Copy link
Copy Markdown
Contributor

eeee

@vercel

vercel Bot commented Oct 14, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Updated (UTC)
pierrejs-diff-demo Ready Ready Preview Oct 14, 2025 0:52am
pierrejs-docs Ready Ready Preview Oct 14, 2025 0:52am

@SlexAxton
SlexAxton merged commit 300f748 into main Oct 14, 2025
2 checks passed
@SlexAxton
SlexAxton deleted the alex/sync/other-endpoints-to-pkg branch October 14, 2025 00:52
SlexAxton added a commit that referenced this pull request Apr 6, 2026
Optimize the real @pierre/path-store presorted 0→1 render path, cutting browser-profile visible-rows-ready time by 53% and Bun build time by 65%.

Key optimizations:
- Open-expansion visible-count fast path (skip generic recompute)
- Natural-sort tokenization: replace matchAll()/regex with manual char-code scanner + cached sort keys
- Skip redundant builder order validation for trusted preparedInput
- Lazy segment sort keys (defer until first ordering use)
- Single-pass manual scanner for splitCanonicalPath
- Null-prototype object for segment table lookup
- Lightweight presorted-path wrapper (defer parsing to store construction)
- Specialized appendPresortedPaths one-pass parse+append
- Fused path splitting with shared-prefix detection
- Lazy file-path caches for bulk-ingested files
- Direct string comparison replacing segment-array allocation
- Deferred directory-index creation (no Maps during hot ingest loop)
- Inline prefix comparison with explicit stack-top index
- Fused linear passes replacing recursive computeSubtreeCounts
- Lazy childPositionById and childIdByNameId (rebuilt on first mutation)
- Eliminate backward-pass Map.get by moving aggregates to initializeOpenVisibleCounts
- Parent-index cache in buildPresortedFinish forward pass
- String.indexOf for SIMD-backed slash detection
- Directory-prefix cache with native startsWith for ~90% of paths
- Indexed for loop and file-node inlining in initializeOpenVisibleCounts
- Inline internSegment with cached field references

Experiments: #1#49 (14 kept optimizations)
Profile visible-rows-ready median: 230.1ms → 107.6ms (-53.2%)
Bun presorted-first-render p50: 149.1ms → 52.6ms (-64.7%)
Mutation guardrails unchanged: rename-leaf ~0.013ms, rename-root-dir ~0.724ms
SlexAxton added a commit that referenced this pull request Apr 6, 2026
* Optimize path-store presorted first render

Optimize the real @pierre/path-store presorted 0→1 render path, cutting browser-profile visible-rows-ready time by 53% and Bun build time by 65%.

Key optimizations:
- Open-expansion visible-count fast path (skip generic recompute)
- Natural-sort tokenization: replace matchAll()/regex with manual char-code scanner + cached sort keys
- Skip redundant builder order validation for trusted preparedInput
- Lazy segment sort keys (defer until first ordering use)
- Single-pass manual scanner for splitCanonicalPath
- Null-prototype object for segment table lookup
- Lightweight presorted-path wrapper (defer parsing to store construction)
- Specialized appendPresortedPaths one-pass parse+append
- Fused path splitting with shared-prefix detection
- Lazy file-path caches for bulk-ingested files
- Direct string comparison replacing segment-array allocation
- Deferred directory-index creation (no Maps during hot ingest loop)
- Inline prefix comparison with explicit stack-top index
- Fused linear passes replacing recursive computeSubtreeCounts
- Lazy childPositionById and childIdByNameId (rebuilt on first mutation)
- Eliminate backward-pass Map.get by moving aggregates to initializeOpenVisibleCounts
- Parent-index cache in buildPresortedFinish forward pass
- String.indexOf for SIMD-backed slash detection
- Directory-prefix cache with native startsWith for ~90% of paths
- Indexed for loop and file-node inlining in initializeOpenVisibleCounts
- Inline internSegment with cached field references

Experiments: #1#49 (14 kept optimizations)
Profile visible-rows-ready median: 230.1ms → 107.6ms (-53.2%)
Bun presorted-first-render p50: 149.1ms → 52.6ms (-64.7%)
Mutation guardrails unchanged: rename-leaf ~0.013ms, rename-root-dir ~0.724ms

* review edits, mostly comments and docs
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.

1 participant