tirsdag den 25. november 2014

ASYNC med store filer - fil kopiering


Når man skal kopiere store filer (fx 1-2-3 gb data), så kan du ikke bruge File.Copy, men skal ud i at flytte dem selv. Her benyttes original filestream og den nye filestream.
Ulempen ved denne er at der skal læses lidt fra orignal filestream, put det i en buffer, kopier ind i den nye filestream. Det er der en kerne der gør, hvilket gør at sådan en kopiering kan tage op imod en time for 1,5 gb data.

Fordi den ikke kan udnytte at læse og skrive samtidigt, gør det processen langsom.
Hvis man derimod benytter ASYNC, så sker det asynkront, og vil sige den kan fortsætte med næste stykke arbejde når den har kopieret data imens den skriver.
Ved at det er asynkront kan der kopieres imens der skrives, så den hele tiden har en buffer klar.

Det gjorde at den kom fra en time ned til et par minutter.

INDSÆT KODE

Ingen kommentarer:

Send en kommentar

Kan du lide mit indlæg, har en kommentar, forslag eller andet på hjerte så skriv venligst