wheybags / wcp

Experimental file copy tool using io_uring
MIT License
198 stars 7 forks source link

Slower than `cp`? #13

Open Jarred-Sumner opened 2 years ago

Jarred-Sumner commented 2 years ago

I'm looking at possibly using io_uring for a package manager and I tried out wcp to get a sense for what the performance would look like for recursively copying files/folders via io_uring

I was surprised to see that it seems slower on Ubuntu 20.04.1 AMD64

image

I can confirm that this is a release build:

 jarred@jarred-desktop  ◰³ base  ~/B/wcp    build  cat CMakeCache.txt                                                                                                                     (base)  Fri 10 Dec 2021 12:41:51 AM UTC
# This is the CMakeCache file.
# For build in directory: /home/jarred/Build/wcp/build
# It was generated by CMake: /home/jarred/miniconda/bin/cmake
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.

########################
# EXTERNAL cache entries
########################

//Path to a program.
CMAKE_AR:FILEPATH=/usr/bin/ar

//Choose the type of build, options are: None Debug Release RelWithDebInfo
// MinSizeRel ...
CMAKE_BUILD_TYPE:STRING=Release
wheybags commented 2 years ago

What is the drive you are using? I only tested on an an nvme SSD, so I don't know how it performs on spinning metal.

Could you run the built in benchmark script? scripts/perf_regression_test.sh

ghost commented 2 years ago

I would like to report results of copying many files from HDD:

Results (ordered from slowest to fastest):