alexcrichton opened PR #2645 from underscore-setjmp to main:
Apparently on macOS
setjmpmanipulates the process-wide signal mask
which adds a good deal of overhead. We don't actually need this
functionality so this commit switches to using the underscore-prefixed
version of setjmp/longjmp which is defined to not maniuplate the signal
mask. This came out of poking around on #2644 and on macOS locally thi
sdropped the overhead from 721ns to 55ns.I'll note that I'm not sure if the underscore-versions are present in other platforms, but I figure that CI can figure it out here.
alexcrichton updated PR #2645 from underscore-setjmp to main.
alexcrichton updated PR #2645 from underscore-setjmp to main.
alexcrichton updated PR #2645 from underscore-setjmp to main.
alexcrichton updated PR #2645 from underscore-setjmp to main.
alexcrichton updated PR #2645 from underscore-setjmp to main.
cfallin submitted PR Review.
cfallin submitted PR Review.
cfallin created PR Review Comment:
tiny nit, but would it be possible to choose other names for the macros rather than aliasing
setjmp/longjmp/jmp_buf? This could be confusing otherwise; best to avoid surprising macro indirections :-)
alexcrichton updated PR #2645 from underscore-setjmp to main.
alexcrichton merged PR #2645.
Last updated: Dec 06 2025 at 06:05 UTC