Uh oh!
There was an error while loading. Please reload this page.
domain: allow concurrent user-land impl - #33013
Conversation
Trott
commented
Apr 23, 2020
A chunk of code that was deleted in the original pull request is restored here so that test/parallel/test-domain-emit-error-handler-stack.js will pass. Is that the right approach, or is the thing to do to delete/update the test as its behavior should change? |
Trott
commented
Apr 23, 2020
Remaining to be done:
|
mscdex
commented
Apr 23, 2020
This produces some significant performance regressions: Can we find a way to avoid these first? |
addaleax
commented
Apr 24, 2020
I’m surprised that the impact is that large, but yes, we should definitely address that first… |
8ae28ff to
2935f72Comparee3a3916 to
9fb161cCompare@mscdex Can you re-run the benchmark CI so I can see what parameters you use / it uses? I'm running locally and getting very different results, which may be correct--different platforms/environments having different benchmarks--but it seems striking. I also ran this after rebasing against master so it's possible something else changed that caused this to have less impact. |
nodejs-github-bot
commented
Aug 7, 2020
CI results look about the same as before for this PR: |
Trott
commented
Aug 8, 2020
9fb161c to
134cbe1Comparenodejs-github-bot
commented
Mar 27, 2021
f2ae64b to
6cc7faaComparemscdex
commented
Mar 27, 2021
FWIW there are still some significant regressions: |
Trott
commented
Mar 28, 2021
6cc7faa to
a45ef63CompareTrott
commented
Mar 28, 2021
Whoops, @mscdex's results were from a benchmark CI run and not a local run, so my benchmark CI run was superfluous. Oh well, here are the results anyway: |
Currently, only one domain-lke implementation (the core domain one) can be used to handle uncaught exceptions or unhandled error events. This PR aims at making it possible for different domain-like user-land implementations to be used concurrently (including with the core domain impl) so that the state of the core domain module (doc deprecated) does not prevent users of domains from having a well-maintained domain-like facility. Ref: nodejs#23348 Co-authored-by: Rich Trott <rtrott@gmail.com>
a45ef63 to
110983cCompare8e77095 to
f992e36CompareTrott
commented
Mar 31, 2021
I'm not seeing any obvious way to improve performance and this isn't something I'm inclined to seek out non-obvious ways to do it. So I'm inclined to close. @mscdex Do you see anything obvious that might be worth trying to refactor into a more performant shape? |

Picking up #26326
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes