-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
src: UV_RUN_ONCE in a loop is inefficient #8496
Labels
c++
Issues and PRs that require attention from people who are familiar with C++.
help wanted
Issues that need assistance from volunteers or PRs that need help to proceed.
lib / src
Issues and PRs related to general changes in the lib or src directory.
Comments
bnoordhuis
added
the
lib / src
Issues and PRs related to general changes in the lib or src directory.
label
Sep 12, 2016
This sounds like it has an awfully good chance of being related to #3665 |
@bnoordhuis Any new information to add to this? If no one's actively working on it, maybe we can add a |
Trott
added
the
c++
Issues and PRs that require attention from people who are familiar with C++.
label
Jul 10, 2017
bnoordhuis
added
the
help wanted
Issues that need assistance from volunteers or PRs that need help to proceed.
label
Jul 10, 2017
Good idea. Label added. |
3 tasks
addaleax
pushed a commit
that referenced
this issue
Aug 17, 2017
Node.js currently uses the V8 implementation of the DefaultPlatform which schedules VM tasks on a V8 managed thread pool. Since the Node.js event loop is not aware of these tasks, the Node.js process may exit while there are outstanding VM tasks. This will become problematic once asynchronous wasm compilation lands in V8. This PR introduces a Node.js specific implementation of the v8::Platform on top of libuv so that the event loop is aware of outstanding VM tasks. PR-URL: #14001 Fixes: #3665 Fixes: #8496 Fixes: #12980 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
MylesBorins
pushed a commit
that referenced
this issue
Sep 10, 2017
Node.js currently uses the V8 implementation of the DefaultPlatform which schedules VM tasks on a V8 managed thread pool. Since the Node.js event loop is not aware of these tasks, the Node.js process may exit while there are outstanding VM tasks. This will become problematic once asynchronous wasm compilation lands in V8. This PR introduces a Node.js specific implementation of the v8::Platform on top of libuv so that the event loop is aware of outstanding VM tasks. PR-URL: #14001 Fixes: #3665 Fixes: #8496 Fixes: #12980 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
MylesBorins
pushed a commit
that referenced
this issue
Sep 12, 2017
Node.js currently uses the V8 implementation of the DefaultPlatform which schedules VM tasks on a V8 managed thread pool. Since the Node.js event loop is not aware of these tasks, the Node.js process may exit while there are outstanding VM tasks. This will become problematic once asynchronous wasm compilation lands in V8. This PR introduces a Node.js specific implementation of the v8::Platform on top of libuv so that the event loop is aware of outstanding VM tasks. PR-URL: #14001 Fixes: #3665 Fixes: #8496 Fixes: #12980 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
c++
Issues and PRs that require attention from people who are familiar with C++.
help wanted
Issues that need assistance from volunteers or PRs that need help to proceed.
lib / src
Issues and PRs related to general changes in the lib or src directory.
src/node.cc calls
uv_run(loop, UV_RUN_ONCE)
in a loop:uv_run()
looks like this:The way we use UV_RUN_ONCE is:
uv__update_time()
is called twice. It's expensive on systems where querying the system time is expensive (e.g. virtualized systems.)Branched off #8460 (comment).
The text was updated successfully, but these errors were encountered: