qard
@nodejs core contributor, founded tracing (now diagnostics) working group. I hack on compilers and VMs.
Funding Links: https://github.com/sponsors/Qard
- Name: Stephen Belanger
- Location: Vancouver, BC, Canada
- Company: Datadog
- Kind: user
- Followers: 417
- Following: 71
- Total stars: 1099
- Repositories count: 240
- Created at: 2022-11-02T16:38:20.044Z
- Updated at: 2024-05-20T14:11:19.041Z
- Last synced at: 2024-05-20T14:11:15.909Z
GitHub Sponsors Profile
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.
- Current Sponsors: 1
- Past Sponsors: 3
- Total Sponsors: 4
- Minimum Sponsorship: $1.00
Featured Works
nodejs/node
Node.js JavaScript runtime ✨🐢🚀✨
Language: JavaScript - Stars: 110356nodejs/node-v8
Experimental Node.js mirror on V8 lkgr ✨🐢🚀✨
Language: Shell - Stars: 438Active Sponsors
Past Sponsors
Sponsor Breakdown
- User: 3
- Organization: 1
Active Sponsorships
Past Sponsorships
View AllSponsorship Breakdown by Kind
- User: 15
- Organization: 1