http://bugs.winehq.org/show_bug.cgi?id=58155
--- Comment #9 from ToastyBug cemer99797@isorax.com --- (In reply to Brendan Shanks from comment #8)
Copying bytes from one existing file to another is how Wine (and Windows) copies files. Create the destination file, read bytes from the source file, write them to the destination. clonefile(2) copies an entire file to a new name, which may have a similar end result but is not a drop-in way to implement the above.
But actually that's exactly what it's supposed to be: a drop-in replacement for the "old" way of copying files. That's why GNU coreutils switched to it by default in coreutils 9.1, so that copy-on-write on macOS APFS volumes would be activated without developers even noticing.
Do you have access to macOS? You can try copying a multi-GB directory or file in the macOS Finder (with the right-click "duplicate" command, or by just copying and pasting). It should be almost instant in the case of 1 large file, and very fast even with many small files. Now try copying using the macOS Terminal with `cp` (slow, non-CoW) and then try again with `cp -c` (fast CoW, same behavior as using Finder).