19:52
<Justin Ridgewell>
Congrats @Stephen Belanger: https://github.com/nodejs/node/pull/48528#issuecomment-2266038177
19:52
<Stephen Belanger>
Heh, that was quick. 😅
19:52
<Justin Ridgewell>
Last perf improvments were https://github.com/nodejs/node/pull/48528#issuecomment-2253643765
20:02
<Justin Ridgewell>
  1. .get() is ~50% faster regardless of the number of async resources

  2. .get() is ~15% faster regardless of the number of nested .run() calls

  3. Creating new async resources/promises is 50% to 1400% faster depending on number of resources

- It’s 2%-14% slower when no Variable are in use?
20:03
<Justin Ridgewell>
Is there a test for speed of the .run() itself?
20:22
<Stephen Belanger>
The degradation when not in use is because of the infectious nature of AsyncResource. I plan on poking at that a bit to see what I can do to improve the performance there, but given that apps without any variables don't actually exist in-practice it's not a huge concern.
20:24
<Stephen Belanger>
And no, I don't think there's a run-only benchmark. I want to build out the benchmarks a bit more around it. Because it was layered over async_hooks forever, and that was always a pile of hacks, it never really got much serious consideration when it came to performance, stability, correctness, etc. I'm hoping to change that with the move off of an async_hooks core.