-
Couldn't load subscription status.
- Fork 6.1k
8274113: (fc) Tune FileChannel.transferFrom() #8644
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
Conversation
|
To A threshold is added for all platforms such that a mapped transfer is attempted only when the number of bytes to transfer is greater than the threshold. Below this threshold a read-write copy is performed. The test
Instead, |
|
👋 Welcome back bpb! A progress list of the required criteria for merging this PR into |
Webrevs
|
4ea9b94 to
df436ab
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.
Overall I think this looks good. It would be useful to add some performance data to the PR to demonstrate the improvement.
|
@bplb This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be: You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 80 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
Throughput on macOS showing the change due to the mapped transfer threshold: Before (mapped transfer) After (read-write transfer up to 16K length) The threshold could probably be a little higher but is left at 16K for consistency with Throughput on Linux showing the change due to direct transfer: Before (mapped transfer) After (copy_file_range()) |
|
/integrate |
|
Going to push as commit 986d87d.
Your commit was automatically rebased without conflicts. |
This request proposes to change
FileChannel.transferFrom()to add a fast path on Linux and a threshold for mapped transfers on all platforms.Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/8644/head:pull/8644$ git checkout pull/8644Update a local copy of the PR:
$ git checkout pull/8644$ git pull https://git.openjdk.java.net/jdk pull/8644/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 8644View PR using the GUI difftool:
$ git pr show -t 8644Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/8644.diff