Become a sponsor to Stephen Belanger
I'm currently contributing to Node.js and V8 full-time, working on diagnostics-related features. In the last year:
- I introduced
executionAsyncResource()
- I contributed to parts of
AsyncLocalStorage
- I create the incoming
diagnostics_channel
feature - I significantly improved the performance of async_hooks in promise-heavy applications by avoiding GC-tracking of promises where no destroy hook is in-use
- I fixed PromiseHook support for thenables in V8, allowing context tracking with AsyncLocalStorage, or similar systems built on top of async_hooks, to correctly propagate context when using thenables, which are commonly used in database libraries
- I'm currently working on a rewrite of the PromiseHook support in V8 to use JSFunctions rather than C++, which eliminates many expensive barrier hops between generated code, runtime functions, and external C++. This should improve PromiseHook performance and therefore also async_hooks performance quite dramatically.
In the future, I hope to rewrite many parts of async_hooks to trigger lifecycle functions from within JavaScript, wherever possible, further eliminating barrier hops and being much friendlier to the optimizer in V8.
Featured work
-
nodejs/node
Node.js JavaScript runtime β¨π’πβ¨
JavaScript 108,077 -
nodejs/node-v8
Experimental Node.js mirror on V8 lkgr β¨π’πβ¨
Shell 426
$1 a month
SelectMy eternal π and fuzzy feelings.
$20 a month
SelectOne quick (10-15 mins) code review per month, or just some general chatting (about career, community, anything really) on Slack/Twitter/wherever.
$80 a month
SelectOne hour of video call time each month. This could be used for one-to-one mentorship, diagnostics/debugging help, etc.
$5,000 a month
Select(I don't actually expect anyone to go for this but...)
I'll give you two 12-hour days a week of contract/consulting time and spend all the rest of my time on Node.js and V8 work. I'll publicly promote your company as a primary sponsor of my Node.js and V8 involvement.
I reserve the right to decline if I dislike/disagree with what your company is doing. I suggest contacting me first to negotiate specifics before committing to this tier.