Je recompile un ancien programme Delphi (à partir de Delphi 2007) dans (Delphi 2010). Le code est absolument inchangé et il se compile bien. La partie clé du programme est l'utilisation de CopyFileExW pour copier certains fichiers. Tout fonctionne bien et Dandy, cependant, il y a d'étranges problèmes de performance que je n'arrive pas à comprendre d'où ils viennent.Problème de performance étrange
Lors de la copie à partir d'un ordinateur client à un serveur Windows, le suivant se produit:
- Version compilé avec D2007
- de XP à Windows Server 2003, la performance Copie OK
- de XP vers Windows Server 2008 Copier les performances OK
- De Windows 7 à Windows Server 2003, Copier les performances OK
De Windows 7 à Windows Server 2008 Copier les performances OK
Version compilé avec Delphi 2010
- de XP à Windows Server 2003, la performance Copie OK
- de XP vers Windows Server 2008 performances Copie OK
- De Windows 7 à Windows Server 2003, la performance Copie OK
- de Windows 7 au serveur Windows 2008 performances Copie EXTRÊMEMENT LENT
Je peux comprendre que peut-être il y a un problème betwe dans le serveur 2008 et W7, comme la compression différentielle à distance ou autre (quel BTW est désactivé), mais pourquoi la version compilée avec 2007 n'a pas le même problème? Des suppositions?
Avez-vous essayé de le profiler? Tout profileur décent devrait être en mesure de localiser le problème à une procédure spécifique pour l'installation problématique. Sans profilage, il n'y a pas de moyen sûr de le savoir vraiment lié à CopyFileExW. –
Peut-être que c'est un logiciel anti-virus en considérant la version compilée D2010 suspectes et surveille toutes les écritures de disque? Essayez de désactiver temporairement votre logiciel anti-virus. –
Pouvez-vous fournir un exemple de code sur la façon dont vous copiez les fichiers? (Oui, vous spécifiez 'CopyFileExW', mais vous n'indiquez pas comment vous appelez cela, par exemple avec le type de paramètres ou les conversions de chaîne). –