Commit 047ca2f8 authored by Rob Swindell's avatar Rob Swindell 💬
Browse files

Replace fcopy with CopyFile (Win32 API function) on Windows.

Thanks to Wilfred van Velzen (2:280/464) for the tip. CopyFile() reduced
the 1GB file copy test (from and to CIFS/SMB) duration from 37 seconds
to 5 seconds with very low CPU utilization!
Created a wrapper for non-Windows OSes in xpdev/dirwrap. This is where
non-Windows-OS-specific optimized versions may appear in the future,
but for now it's just the previous fcopy() implementation (using a 256KB
stack buffer). sbbs doesn't actually copy files very often, so this
isn't as big of a deal as one might assume. The JavaScript global
method: file_copy() also benefits from these improvements, so any
scripts that use it (e.g. tickit.js) will also benefit. binkit.js has
its own file-copy logic (using a 2MB buffer), so no change there.
parent a2e4d573
Pipeline #96 passed with stage
in 9 minutes and 59 seconds