Bug 12755 - [patch] Improve execution speed on Windows; with Win32 API calls
[patch] Improve execution speed on Windows; with Win32 API calls
Status: NEW
Product: rsync
Classification: Unclassified
Component: core
3.1.3
All Windows 10
: P5 normal
: ---
Assigned To: Wayne Davison
Rsync QA Contact
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2017-04-22 19:04 UTC by Joseph Benden
Modified: 2017-04-29 21:48 UTC (History)
0 users

See Also:


Attachments
Improve wall-time execution speed on Windows (13.59 KB, patch)
2017-04-22 19:04 UTC, Joseph Benden
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joseph Benden 2017-04-22 19:04:44 UTC
Created attachment 13169 [details]
Improve wall-time execution speed on Windows

The attached patch improves execution speed under Windows, by sprinkled usage of the Win32 API. The patch is against the Git repository master branch.

When compiled with MSYS or Cygwin, this patch massively improves on total wall time of the synchronization. By utilizing the Win32 API, I was able to bypass lots of POSIX-to-Win32 translations occurring coupled with reusing given stat()-equivalent data returned during the file-system directory walks.

Comments, suggestions, ideas are welcomed!

-Joe
Comment 1 Joseph Benden 2017-04-23 16:04:51 UTC
If anyone wishes to test the compiled binary, it's available for download here:

https://github.com/jbenden/rsync/releases
Comment 2 Joseph Benden 2017-04-29 21:48:40 UTC
Please disregard the patch attachment as the actual definitive solution and rather visit my GitHub repository for the current working source and binaries.

If this solution is accepted for inclusion in to Rsync or the Rsync-Patches repository, I will re-create a viable patch. I will also do so if asked...

See GitHub: https://github.com/jbenden/rsync/

Thank you! Comments, suggestions, and ideas are always welcomed!
-Joe