alexcrichton opened PR #2645 from underscore-setjmp
to main
:
Apparently on macOS
setjmp
manipulates 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 23 2024 at 12:05 UTC