https://gitlab.synchro.net/sbbs/sbbs/-/commit/047ca2f866e31c2d027ce6a0
Modified Files:
src/sbbs3/js_global.c nopen.c nopen.h writemsg.cpp src/xpdev/dirwrap.c dirwrap.h
Log Message:
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.
---
■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net