Poster une réponse à un sujet: Copie de fichier
Attention, ce sujet est un sujet ancien (5538 jours sans réponse)
Gras [b]Texte[/b] Italique [i]Italique[/i] Souligné [u]Souligné[/u] Barré [strike]Barré[/strike]
Courriel [email=nobody@nobody.org]Nom[/email] Lien [url=http://www.website.com]Texte[/url] Ancre [anchor]Nom[/anchor] Image [img]http://www.website.com/image.jpg[/img] Insérer une image en provenance du site
Aligné à gauche [align=left]Texte[/align] Centré [align=center]Texte[/align] Aligné à droite [align=right]Texte[/align] Toute la largeur [align=justify]Texte[/text]
Couleur [color=#000000]Text[/color] Mise en forme [highlight=pascal]Texte[/highlight] Widgets Emoticons :code: [:code] Convertisseur HTML vers BBCode Convertisseur Word vers BBCode
Prévisualisation Vérification de l'orthographe

Copier Coller Couper Tout sélectionner
Tout effacer Insérer la date Insérer l'heure Insérer la date et heure Insérer votre IP
Liste [list=square][item]BlaBla[/item][/list] Liste Numérotée [list=decimal][item]BlaBla[/item][/list]
Citation [quote=name]Texte[/quote] Spoiler [spoiler]James est le meurtrier![/spoiler]
Tout en majuscules [uppercase]Texte[/uppercase] Tout en minuscules [lowercase]Texte[/lowercase] l33t [l33t]Je suis un nerd[/l33t] Texte en indice [sub]Texte[/sub] Texte en exposant [sup]Texte[/sup] Taille du texte [size=8]Texte[/size]
 
Altar
En fait ça me travaille... Pourquoi est-ce que le fait d'appeller Read en ascynchrone augmente les performances.

Ca devrait être le contraire, vu qu'en async il faut générer le délégué, l'insérer dans le worker thread, l'exécuter, attendre que le delegué s'execute et récupérer les informations. Marcel une idée ?
Altar
Donc avec un buffer de 256ko au lieu de 64ko & des File.BeginRead() on passe à 42mo/sec.

Si en plus de ça on crée le FileStream à la main sans passer par le helper File.Open(), on peut lui indiquer qu'on va faire une lecture séquentielle pas aléatoire et on arrive à 50mo/sec et on est quasi aussi performant que le File.Copy().
gizmo
Peut-etre que c'est le check des permissions qui est mis en cache dans la methode copy, tandis que tu te le retapes a chaque fois dans les read/write.
Altar
Hum voici une question existentielle qui me travaille...

- Lorsque je fais une copie depuis un de nos serveurs vers ma machine avec l'explorateur windows, j'ai une moyenne de 50mo/sec (j'ai vérifié ce n'est pas une erreur d'affichage.)

- Lorsque je fais la même copie avec supercopier, je suis à 25mo/sec.

J'ai donc sorti mon petit vs2008 pour essayer de comprendre et lorsque je fais une copie d'un fichier à la main File.Open() File.Read() File.Write() etc... j'ai aussi une vitesse de 25mo/sec. Par contre, si je passe par le System.IO.File.Copy(), je suis à 55mo/sec...

Qqun aurait-il une petite explication ? Parce que le System.IO.File.Copy(), c'est sympa mais pas de callback pour l'avancement de la copie :ohwell:


Duration : 00:00:45.4514000
Speed : 31278149bytes per sec
Speed : 30545kbps
Speed : 29mbps

Duration : 00:00:23.1660000
Speed : 61196379bytes per sec
Speed : 59762kbps
Speed : 58mbps
Catégorie:  






Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?