Skip to content

refactor(fspy-shm): store Unix paths inline - #645

Closed
wan9chi wants to merge 8 commits into
feat/fspy-shm-platform-errorsfrom
feat/fspy-shm-inline-unix-id
Closed

refactor(fspy-shm): store Unix paths inline#645
wan9chi wants to merge 8 commits into
feat/fspy-shm-platform-errorsfrom
feat/fspy-shm-inline-unix-id

Conversation

@wan9chi

@wan9chi wan9chi commented Aug 11, 2026

Copy link
Copy Markdown
Member

Motivation

After fspy_shm accepts a caller-owned path and exposes sigsafe errors on Unix, ShmKeeper still stores that path in an allocating PathBuf and reconstructs a C string during cleanup. Store the validated absolute path in fixed-capacity inline storage so creation and drop need no heap allocation and the keeper is usable by the injected runtime.

@wan9chi
wan9chi force-pushed the feat/fspy-shm-inline-unix-id branch from cea9bac to 4af1f70 Compare August 11, 2026 02:41
@github-actions

github-actions Bot commented Aug 11, 2026

Copy link
Copy Markdown

fspy benchmark

linux

dynamic/launch             change  +1.06%  [ -3.21% ..  +4.55%]  overhead   +51.81%
dynamic/access             change  -0.32%  [ -3.67% ..  +1.30%]  overhead    +5.94%
dynamic/access-relative    change  -0.11%  [ -6.67% ..  +4.88%]  overhead   +52.15%
static/launch              change  +2.29%  [ -4.49% .. +10.66%]  overhead  +152.96%
static/access              change  -0.66%  [ -7.20% ..  +5.06%]  overhead  +744.72%
static/access-relative     change  +0.24%  [ -6.59% ..  +6.06%]  overhead +1039.47%

macos

dynamic/launch             change  -0.24%  [ -3.54% ..  +3.69%]  overhead  +223.66%
dynamic/access             change  +0.65%  [ -1.66% ..  +3.52%]  overhead    +3.74%
dynamic/access-relative    change  -0.59%  [ -2.88% ..  +1.34%]  overhead  +266.93%

windows

dynamic/launch             change  -0.23%  [ -3.24% ..  +3.17%]  overhead   +26.61%
dynamic/access             change  +0.00%  [ -2.06% ..  +1.84%]  overhead    +1.86%
dynamic/access-relative    change  +0.43%  [ -1.96% ..  +5.01%]  overhead    +1.83%

@wan9chi
wan9chi force-pushed the feat/fspy-shm-inline-unix-id branch from 4af1f70 to 957b632 Compare August 11, 2026 02:59
@wan9chi wan9chi changed the title refactor(fspy-shm): store Unix identifiers inline refactor(fspy-shm): store Unix paths inline Aug 11, 2026
@wan9chi
wan9chi changed the base branch from feat/fspy-shm-sigsafe-random to refactor/fspy-shm-caller-path August 11, 2026 03:00
@wan9chi
wan9chi force-pushed the feat/fspy-shm-inline-unix-id branch from 957b632 to 218fcd4 Compare August 11, 2026 03:01
@wan9chi
wan9chi changed the base branch from refactor/fspy-shm-caller-path to feat/fspy-shm-platform-errors August 11, 2026 03:25
@wan9chi
wan9chi force-pushed the feat/fspy-shm-platform-errors branch from 2283943 to 6c6859e Compare August 11, 2026 03:25
@wan9chi
wan9chi force-pushed the feat/fspy-shm-inline-unix-id branch 2 times, most recently from 61d8de3 to 7d80d5a Compare August 11, 2026 03:37
@wan9chi
wan9chi force-pushed the feat/fspy-shm-platform-errors branch from 6c6859e to 3c0970b Compare August 11, 2026 04:24
@wan9chi
wan9chi force-pushed the feat/fspy-shm-inline-unix-id branch from 7d80d5a to 75547e6 Compare August 11, 2026 04:24
@wan9chi
wan9chi force-pushed the feat/fspy-shm-platform-errors branch from 3c0970b to db13cf2 Compare August 11, 2026 05:15
@wan9chi

wan9chi commented Aug 11, 2026

Copy link
Copy Markdown
Member Author

Superseded by #642 and #649: explicit removal eliminates ShmKeeper, so there is no longer a keeper-owned Unix path to store inline.

@wan9chi wan9chi closed this Aug 11, 2026
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