-
Notifications
You must be signed in to change notification settings - Fork 35
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
xrootd/cmd/xrd-cp: sub-par performances #399
Comments
@EgorMatirov want to give this a try? |
First thing, that I have noticed: Passing a buffer of 16MBytes results in: Next optimization would be reading from the server and writing to the disk simultaneously. Something like: I'll give it a try.
To be honest, I don't see how that can speed up copying here. As far I can tell, the only difference is that it supports reading from several files, but that's unrelated here since we are copying one file. (But it looks like a good idea to check against copying several files later). |
this was just a base-less statement :)
nice find. another possible avenue is to use |
This CL uses a 16MiB buffer for copying (usually large) files. We could also make the size available from the command line or try to automatically decide what would be the best size using some heuristics. This size turns out to be quite reasonnable. Updates go-hep#399.
This CL uses a 16MiB buffer for copying (usually large) files. We could also make the size available from the command line or try to automatically decide what would be the best size using some heuristics. This size turns out to be quite reasonnable. $> benchstat ./ref.txt new.txt name old time/op new time/op delta XrdCp_Small-8 52.3ms ± 2% 54.4ms ± 5% +4.09% (p=0.000 n=30+29) XrdCp_Medium-8 17.2s ±21% 2.5s ±156% -85.41% (p=0.000 n=25+26) name old alloc/op new alloc/op delta XrdCp_Small-8 59.0kB ± 0% 16803.5kB ± 0% +28371.67% (p=0.000 n=28+25) XrdCp_Medium-8 86.1MB ± 0% 225.8MB ± 0% +162.37% (p=0.000 n=29+25) name old allocs/op new allocs/op delta XrdCp_Small-8 241 ± 0% 242 ± 1% +0.27% (p=0.001 n=29+29) XrdCp_Medium-8 14.9k ± 0% 0.5k ± 2% -96.66% (p=0.000 n=29+28) Updates go-hep#399.
ok, with #401 in, we have now (with a
testing on the
also some memory infos, from
let's leave this one open |
trying to copy the following file:
results in:
while, with the C++ version, I got:
presumably b/c of 2 factors:
kXR_readv
The text was updated successfully, but these errors were encountered: