• Rob Swindell's avatar
    Replace fcopy with CopyFile (Win32 API function) on Windows. · 047ca2f8
    Rob Swindell authored
    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.
    047ca2f8