Bug 12755 - [patch] Improve execution speed on Windows; with Win32 API calls
Summary: [patch] Improve execution speed on Windows; with Win32 API calls
Status: NEW
Alias: None
Product: rsync
Classification: Unclassified
Component: core (show other bugs)
Version: 3.1.3
Hardware: All Windows 10
: P5 normal (vote)
Target Milestone: ---
Assignee: Wayne Davison
QA Contact: Rsync QA Contact
Depends on:
Reported: 2017-04-22 19:04 UTC by Joseph Benden
Modified: 2017-04-29 21:48 UTC (History)
0 users

See Also:

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!

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:

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!