-
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
fs: improve error perf of sync *times
#49864
Conversation
1 more review please? Thanks! @nodejs/fs @nodejs/cpp-reviewers |
@CanadaHonk can you resolve the conflicts? |
4a1c86d
to
b9701f6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the diff can be a lot simpler if you just change the sync branch of the original implementations instead of repeating the code in a new binding..(and if you only introduce new bindings, the original sync branch would be dead code..) also I think this breaks --trace-sync-io?
I think differentiating promise and sync implementations are better to maintain and benchmark. I think this would make fast api implementations a lot harder. |
The async one isn't related to promises. I've laid out my reasons about maintainability in #49593 (comment)
Can you elaborate on why? I don't think there is a lot of differences between the sync and the async version - note that we do not call the async callback immediately, this means we can include them in the fast API just fine. Essentially the sync v.s. async part really just comes down to what you pass to the libuv methods. |
#49913 has landed. Can you move the JS code back to |
b9701f6
to
4cfd327
Compare
PR-URL: #49864 Refs: nodejs/performance#106 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Landed in 6bd77db |
This was landed despite a failing Jenkins CI. |
Yes, because the failing test was fixed in main branch. It was caused by test runner concurrency cli flag. |
PR-URL: nodejs#49864 Refs: nodejs/performance#106 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
PR-URL: #49864 Refs: nodejs/performance#106 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Results from i7 Windows laptop:
Ref: nodejs/performance#106