I have a backup program that used to work reasonably well.
It used copyfileex to copy files from one unix machine to another.
Recently it has been maxing out at about 5Mb/s
So I changed to SHFileOperation and found it averages about 80Mb/s

This is using delphi 7 on windows 7.

2 Years
Discussion Span
Last Post by Duoas

His question is why the rewritten stuff on Windows 7 works so much faster than what he had been using.

You state that you are using CopyFileEx() (a Win API function) on Unix systems and it is going slow. Assuming your original code does not have any hooks on the call, it is at least going through an emulator (Wine, presumably), not to mention the overhead of going over network protocols.

You then state that you are using SHFileOperation() to have the Windows Shell perform the same function call and it is running faster, but on a native Windows 7 machine.

Without seeing your code for both the original and the rewritten stuff, I can only assume that playing with the OS emulator is costing you.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.