Delphi 奇怪的性能问题
我正在(Delphi 2010)中重新编译一个旧的Delphi程序(来自Delphi 2007)。代码是绝对不变的,并且编译得很好。该程序的关键部分是使用CopyFileExW复制一些文件。一切正常,但是,有一些奇怪的性能问题,我无法理解它们是从哪里来的 从客户端计算机复制到Windows服务器时,会发生以下情况:Delphi 奇怪的性能问题,delphi,winapi,Delphi,Winapi,我正在(Delphi 2010)中重新编译一个旧的Delphi程序(来自Delphi 2007)。代码是绝对不变的,并且编译得很好。该程序的关键部分是使用CopyFileExW复制一些文件。一切正常,但是,有一些奇怪的性能问题,我无法理解它们是从哪里来的 从客户端计算机复制到Windows服务器时,会发生以下情况: 用D2007编译的版本 从XP到Windows Server 2003,复制性能正常 从XP到Windows Server 2008复制性能正常 从Windows 7到Window
- 用D2007编译的版本
- 从XP到Windows Server 2003,复制性能正常
- 从XP到Windows Server 2008复制性能正常
- 从Windows 7到Windows Server 2003,复制性能正常
- 从Windows 7到Windows server 2008复制性能正常
- 用Delphi2010编译的版本
- 从XP到Windows Server 2003,复制性能正常
- 从XP到Windows Server 2008复制性能正常
- 从Windows 7到Windows Server 2003,复制性能正常
- 从Windows 7到Windows server 2008复制性能极低
我可以理解2008服务器和W7之间可能存在问题,比如远程差分压缩之类的(顺便说一句,禁用了哪个),但是为什么用2007编译的版本没有同样的问题呢?有什么猜测吗?因为您刚刚更新了一个在Delphi 2010上运行的程序,所以您可能应该转到Delphi XE并开始在那里解决问题。它内置了一个剖析器,您可以使用最新的东西。一些可能原因的想法:
- WS2008端的防病毒软件认为传输可疑并进行验证(如评论中所述)
- 可能是一些隐式字符串转换妨碍了
CopyFileExW
,但您没有指明如何调用它,例如使用参数或字符串转换的类型)。请注意,XE中的内置探查器是一个“轻”版本,而AFAIK并没有剖析到特定的源代码行号。就是这样。赛门铁克AV。把目的地排除在外,效果很好。