Skip to content

add a frame-pointer build option for profiling - #59

Merged
nvms merged 1 commit into
mainfrom
native-call-overhead
Sep 10, 2026
Merged

add a frame-pointer build option for profiling#59
nvms merged 1 commit into
mainfrom
native-call-overhead

Conversation

@nvms

@nvms nvms commented Sep 10, 2026

Copy link
Copy Markdown
Owner

zig build -Dframe-pointers (or make release ZIG_FLAGS=-Dframe-pointers) keeps frame pointers in a release build so sample on macOS can unwind it and produce a flat profile. Without it a ReleaseFast binary shows a single start frame and nothing else.

This came out of profiling native call overhead. A prototype that ran natives in place from the fast loop cut abs() in a loop from 72ns to 30ns per call, but no real-application harness moved, and it needed a carve-out for the top-level frame and careful placement to avoid perturbing unrelated handlers. It was not merged; the profile and its conclusions are recorded for the next attempt.

@nvms
nvms merged commit cee7b70 into main Sep 10, 2026
19 checks 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.

1 participant