{"id":16056,"login":"qard","has_sponsors_listing":true,"data":{"kind":"user","name":"Stephen Belanger","uuid":"205482","email":"","login":"Qard","company":"Datadog","twitter":null,"website":"http://stephenbelanger.com","html_url":"https://github.com/Qard","icon_url":"https://avatars.githubusercontent.com/u/205482?u=de3265fd6a286e3e51965136cbe7a04bb9ec051a\u0026v=4","location":"Vancouver, BC, Canada","metadata":{"has_sponsors_listing":true},"followers":417,"following":71,"owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qard","created_at":"2022-11-02T16:38:20.044Z","updated_at":"2024-05-20T14:11:19.041Z","description":"@nodejs core contributor, founded tracing (now diagnostics) working group. I hack on compilers and VMs.","total_stars":1099,"funding_links":["https://github.com/sponsors/Qard"],"last_synced_at":"2024-05-20T14:11:15.909Z","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qard/repositories","repositories_count":240},"created_at":"2024-11-25T14:00:14.880Z","updated_at":"2026-10-09T12:32:45.873Z","last_synced_at":"2026-10-09T12:32:45.872Z","sponsors_count":5,"sponsorships_count":18,"active_sponsorships_count":11,"active_sponsors_count":1,"sponsor_profile":{"bio":"I'm currently contributing to Node.js and V8 full-time, working on diagnostics-related features. In the last year:\n\nI introduced executionAsyncResource()\nI contributed to parts of AsyncLocalStorage\nI create the incoming diagnostics_channel feature\nI significantly improved the performance of async_hooks in promise-heavy applications by avoiding GC-tracking of promises where no destroy hook is in-use\nI 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\nI'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.\n\nIn 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.","past_sponsors":4,"featured_works":[],"current_sponsors":1},"minimum_sponsorship_amount":1,"url":"https://sponsors.ecosyste.ms/accounts/qard","api_url":"https://sponsors.ecosyste.ms/api/v1/accounts/qard","html_url":"https://github.com/qard","sponsors_url":"https://github.com/sponsors/qard","sponsors_api_url":"https://sponsors.ecosyste.ms/api/v1/accounts/qard/sponsors","sponsorships_api_url":"https://sponsors.ecosyste.ms/api/v1/accounts/qard/sponsorships"}