HELP :- FSUTIL + COPY versus XCOPY /? ; Caches + i/o Buffers

Discussion forum for all Windows batch related topics.

Moderator: DosItHelp

Post Reply
Message
Author
alan_b
Expert
Posts: 357
Joined: 04 Oct 2008 09:49

HELP :- FSUTIL + COPY versus XCOPY /? ; Caches + i/o Buffers

#1 Post by alan_b » 30 Nov 2013 07:48

I want a better understanding of the factors affecting :-
Both the Real and also the virtual or apparent Speed of Disks ;
And pure Read only and also Write only of archive files ;
And the transfer of files between partitions on the same Disk and between Disks.

I wish to produce a script that will help me evaluate and compare the performance of Removable and Fixed Disks.
I am currently focussed on Fixed Disks because I think that will cover Removable.

I would appreciate advice and comments upon tentative conclusions based upon the 144 numbered lines created by my script XC.BAT

Speed of Copying a 319,334,486 byte file to NUL occupies :-
1645 mSec Pure Read from my SSD partition C:\ - lines 129,131,133
455 mSec Virtual Read from Windows Cache - lines 134,135,136
2185 mSec from my HDD partition D:\ - lines 165,167,169
435 mSec Virtual Read from Windows Cache - lines 170,171,172

Speed of Copying a 1,014,411,396 byte file to NUL occupies :-
5805 mSec Pure Read from my SSD partition C:\ - lines 201,293,205
1375 mSec Virtual Read from Windows Cache - lines 206,207,208
6825 mSec from my HDD partition D:\ - lines 165,167, and 169
1395 mSec Virtual Read from Windows Cache - lines 170, 171, and 172

Speed of Copying a 319,334,486 byte file From SSD to Disk 1 HDD occupies :-
1850 mSec using FSUTIL + COPY to exclude input cache - lines 101 to 106
995 mSec using COPY and both input and ouput buffers - lines 107 to 109
1830 mSec using FSUTIL + XCOPY to exclude input cache - lines 110 to 115
1045 mSec using XCOPY and both input and ouput buffers - lines 116 to 118
2185 mSec using "XCOPY /J" to EXCLUDE input and output buffers - lines 120 to 127

Speed of Copying a 319,334,486 byte file From HDD Disk 1 D: to HDD Disk 1 H: occupies :-
Slightly longer than SSD to HDD WITH THE EXCEPTION OF
5185 mSec using "XCOPY /J" to EXCLUDE input and output buffers - lines 156 to 163

Results on lines 173 to 244 are about 3 times as long to handle 1,014,411,396 byte file

QUESTIONS :-

WHY DOES IT TAKE TWICE AS LONG WHEN TRANSFERING BETWEEN PARTITIONS ON THE SAME DISK ?
Is it because my SATA Disc interface data channel is only rated at 3 GBit / Second in one direction at a time ?
and can only handle 1.5 GBit/Sec simultaneous input and output ?
or is it the Disk Controller ?
or is it the Disc Mechanism having to jump between two adjacent 10 GB partitions on a 930 GB HDD ?
or what ?

COPY is able to write to NUL, XCOPY chooses an error crash instead, Why ?
(I do not think I have any need to use XCOPY for writing to NUL, but it surprised me)

OBSERVATIONS :-

"XCOPY /J" ensures accurate measurement of transfers without input caches or ouput buffers.
When the script has in force the variable NO_PAUSE=PAUSE
Then every time result is paused and it becomes obvious when watching the HDD activity LED's
that there is a solid continuous ON HDD activity for 17325 mSec as shown on line 234
after which the drive does not twitch anymore unless it responds to the Internet,

BUT Using FSUTIL + COPY has the APPEARANCE of about 2 seconds Disk Activity throughout the 9485 mSec of line 210,
But during a very long pause I observe that the Led flashes for about a quarter second once ever three seconds, so there could be another 15 seconds of Disk activity spread over the next 200 Seconds.

Deduction :-
Windows does a good job at using caches to conceal how slow the drives are,
but I only have 8 GByte of RAM so a Partition image backup of my 55 GB SSD could be far to much for Windows caches to handle.

Final Question :-

XCOPY documentation describes option /J as :-
/J Copies using unbuffered I/O. Recommended for very large files.
Am I correct in assuming that the "output Buffer" is already disabled by default for removable drives,
such as USB2, USB3, and eSATA connected HDD ?

Regards
Alan

The Measurement script, which presupposes Source paths C\###-SpeedTest-#\#\S\ and D:\###-SpeedTest-#\#\S\
each holding a 200 MB and 1 GB file

Code: Select all

@ECHO OFF
SETLOCAL EnableDelayedExpansion
ECHO File %~f0 changed %~t0 Launched %DATE% %TIME%

SET "NO_PAUSE="    REM  SHOW TIME AND CONTINUE SCRIPT AUTOMATICALLY
SET "NO_PAUSE=PAUSE"   REM  SHOW TIME AND PAUSE TO OBSERVE DRIVE ACTIVITY LEDS

SET "TARGETS=NUL"

SET "SOURCE=C: D:"
SET "TARGETS=H: NUL"
SET "PARENT=###-SpeedTest-#\#"
SET "MASK=1 #2"
REM  EDIT the above 4 lines to control the Source and Destination drives, paths, and files

SET /A N=3
SET /A L_NUM=100

FOR %%m IN (%MASK%) DO FOR %%s IN (%SOURCE%) DO (
  SET "VOL_T="
  for /f "delims=" %%f in (' VOL %%s ') do SET "VOL_T=!VOL_T! %%f "
  ECHO  Source drive %%s =!VOL_T!
  FOR %%t IN (%TARGETS%) DO (
    SET "OUT_PATH=%%t\%PARENT%\T\"
    IF /I "%%t" EQU "NUL" (
      SET "VOL_T=NUL"
      SET "OUT_PATH=NUL"
    ) ELSE (
      SET "VOL_T="
      for /f "delims=" %%f in (' VOL %%t ') do SET "VOL_T=!VOL_T! %%f "
      IF NOT EXIST "!OUT_PATH!\" MD "!OUT_PATH!\"
    )
    ECHO  Target drive %%t =!VOL_T!
    CD /D "%%s\%PARENT%\S"
    for /f "delims=" %%f in (' DIR "%%m*.*" /b /os /a-d /X ') do (
      CALL :DO_IT_HELP %%s %%t "%%f" "%%s\%PARENT%\S"
      FOR /L %%n IN (1,1,%N%) DO CALL :DO_IT_FSU_COPY %%s %%t "%%f" "%%s\%PARENT%\S" %%n
      FOR /L %%n IN (1,1,%N%) DO CALL :DO_IT_COPY %%s %%t "%%f" "%%s\%PARENT%\S" %%n
      IF /I "%%t" NEQ "NUL" (
        FOR /L %%n IN (1,1,%N%) DO CALL :DO_IT_FSU_XCOPY %%s %%t "%%f" "%%s\%PARENT%\S" %%n
        FOR /L %%n IN (1,1,%N%) DO CALL :DO_IT_XCOPY %%s %%t "%%f" "%%s\%PARENT%\S" %%n
        FOR /L %%n IN (1,1,%N%) DO CALL :DO_IT_FSU_XCOPY_J %%s %%t "%%f" "%%s\%PARENT%\S" %%n
        FOR /L %%n IN (1,1,%N%) DO CALL :DO_IT_XCOPY_J %%s %%t "%%f" "%%s\%PARENT%\S" %%n
      )
    )
  )
)
GOTO :EOF

rem for /f "delims=" %%f in (' DIR "%MASK%" /b /os /a-d /X ') do (
rem )

FOR %%m IN (%MASK%) DO ECHO ["%%m*.*"]
goto :eof

:DO_IT_HELP
ECHO Copying     "%~4\"     TO      "%OUT_PATH%"
ECHO Copy File   "%~3" Size %~z3 bytes
GOTO :EOF

:DO_IT_FSU_COPY
SET "T1=%TIME%"
FSUTIL FILE SETVALIDDATA "%~4\%~3" "%~z3" > NUL
CALL :SHOW_TIME %T1% "%5 FSUTIL %~z3"
:DO_IT_COPY
SET "T1=%TIME%"
COPY /B /Y "%~4\%~3" "!OUT_PATH!" > NUL
CALL :SHOW_TIME %T1% "%5 COPY /B /Y %~4\{file} !OUT_PATH!"
GOTO :EOF

:DO_IT_FSU_XCOPY
SET "T1=%TIME%"
FSUTIL FILE SETVALIDDATA "%~4\%~3" "%~z3" > NUL
CALL :SHOW_TIME %T1% "%5 FSUTIL %~z3"
:DO_IT_XCOPY
SET "T1=%TIME%"
XCOPY "%~4\%~3" %OUT_PATH% /Y > NUL
CALL :SHOW_TIME %T1% "%5 XCOPY %~4\{file} %OUT_PATH% /Y"
GOTO :EOF

:DO_IT_FSU_XCOPY_J
SET "T1=%TIME%"
FSUTIL FILE SETVALIDDATA "%~4\%~3" "%~z3" > NUL
CALL :SHOW_TIME %T1% "%5 FSUTIL %~z3"
:DO_IT_XCOPY_J
SET "T1=%TIME%"
XCOPY "%~4\%~3" "%OUT_PATH%" /Y /J > NUL
CALL :SHOW_TIME %T1% "%5 XCOPY %~4\{file} %OUT_PATH% /Y /J"
GOTO :EOF


:SHOW_TIME
SET "T2=%TIME%"
CALL :T_DIFF %T1% %T2%
SET /A L_NUM += 1
ECHO %L_NUM% %TIME_DIFF%   Running  %2
%NO_PAUSE%
GOTO :EOF


:T_DIFF
FOR /F "tokens=1-4 delims=:." %%d in ("%1") do SET /A mS1=%%d*360000+1%%e*6000+1%%f*100+1%%g-610100
FOR /F "tokens=1-4 delims=:." %%d in ("%2") do SET /A mS2=%%d*360000+1%%e*6000+1%%f*100+1%%g-610100
REM Add 5 mSec extra to avoid subsequent "divide by zero errors"and to +/- split digitization error
SET /A DIFF=(((%mS2%-%mS1%)*10)+5)
SET "TIME_DIFF=%T2%-%T1% = %ms2%-%ms1% mSec = %DIFF% mSec"


The output script produced by the above
    C:\Users\Alan>XC
    File C:\Users\Alan\XC.BAT changed 30/11/2013 10:36 Launched 30/11/2013 10:37:08.71
    Source drive C: = Volume in drive C is C_OCZ_System Volume Serial Number is 6E59-9E7D
    Target drive H: = Volume in drive H is Disk2-H_PORTABLE Volume Serial Number is DF49-8430
    Copying "C:\###-SpeedTest-#\#\S\" TO "H:\###-SpeedTest-#\#\T\"
    Copy File "11FDE5EF506760DB-00-00.mrimg.bin" Size 319334486 bytes
    101 10:37:08.93-10:37:08.84 = 3822893-3822884 mSec = 95 mSec Running "1 FSUTIL 319334486"
    102 10:37:10.56-10:37:08.94 = 3823056-3822894 mSec = 1625 mSec Running "1 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    103 10:37:10.67-10:37:10.57 = 3823067-3823057 mSec = 105 mSec Running "2 FSUTIL 319334486"
    104 10:37:12.36-10:37:10.69 = 3823236-3823069 mSec = 1675 mSec Running "2 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    105 10:37:12.49-10:37:12.38 = 3823249-3823238 mSec = 115 mSec Running "3 FSUTIL 319334486"
    106 10:37:14.32-10:37:12.51 = 3823432-3823251 mSec = 1815 mSec Running "3 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    107 10:37:15.33-10:37:14.34 = 3823533-3823434 mSec = 995 mSec Running "1 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    108 10:37:16.39-10:37:15.35 = 3823639-3823535 mSec = 1045 mSec Running "2 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    109 10:37:17.40-10:37:16.41 = 3823740-3823641 mSec = 995 mSec Running "3 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    110 10:37:17.52-10:37:17.42 = 3823752-3823742 mSec = 105 mSec Running "1 FSUTIL 319334486"
    111 10:37:19.23-10:37:17.54 = 3823923-3823754 mSec = 1695 mSec Running "1 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    112 10:37:19.34-10:37:19.24 = 3823934-3823924 mSec = 105 mSec Running "2 FSUTIL 319334486"
    113 10:37:21.07-10:37:19.36 = 3824107-3823936 mSec = 1715 mSec Running "2 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    114 10:37:21.20-10:37:21.09 = 3824120-3824109 mSec = 115 mSec Running "3 FSUTIL 319334486"
    115 10:37:22.96-10:37:21.21 = 3824296-3824121 mSec = 1755 mSec Running "3 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    116 10:37:24.01-10:37:22.98 = 3824401-3824298 mSec = 1035 mSec Running "1 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    117 10:37:25.09-10:37:24.03 = 3824509-3824403 mSec = 1065 mSec Running "2 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    118 10:37:26.13-10:37:25.11 = 3824613-3824511 mSec = 1025 mSec Running "3 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    119 10:37:26.26-10:37:26.15 = 3824626-3824615 mSec = 115 mSec Running "1 FSUTIL 319334486"
    120 10:37:28.42-10:37:26.28 = 3824842-3824628 mSec = 2145 mSec Running "1 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    121 10:37:28.48-10:37:28.44 = 3824848-3824844 mSec = 45 mSec Running "2 FSUTIL 319334486"
    122 10:37:30.56-10:37:28.49 = 3825056-3824849 mSec = 2075 mSec Running "2 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    123 10:37:30.61-10:37:30.58 = 3825061-3825058 mSec = 35 mSec Running "3 FSUTIL 319334486"
    124 10:37:32.79-10:37:30.62 = 3825279-3825062 mSec = 2175 mSec Running "3 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    125 10:37:34.97-10:37:32.80 = 3825497-3825280 mSec = 2175 mSec Running "1 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    126 10:37:37.18-10:37:34.99 = 3825718-3825499 mSec = 2195 mSec Running "2 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    127 10:37:39.36-10:37:37.20 = 3825936-3825720 mSec = 2165 mSec Running "3 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    Target drive NUL =NUL
    Copying "C:\###-SpeedTest-#\#\S\" TO "NUL"
    Copy File "11FDE5EF506760DB-00-00.mrimg.bin" Size 319334486 bytes
    128 10:37:39.46-10:37:39.42 = 3825946-3825942 mSec = 45 mSec Running "1 FSUTIL 319334486"
    129 10:37:41.10-10:37:39.47 = 3826110-3825947 mSec = 1635 mSec Running "1 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} NUL"
    130 10:37:41.21-10:37:41.11 = 3826121-3826111 mSec = 105 mSec Running "2 FSUTIL 319334486"
    131 10:37:42.87-10:37:41.23 = 3826287-3826123 mSec = 1645 mSec Running "2 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} NUL"
    132 10:37:42.99-10:37:42.89 = 3826299-3826289 mSec = 105 mSec Running "3 FSUTIL 319334486"
    133 10:37:44.65-10:37:43.01 = 3826465-3826301 mSec = 1645 mSec Running "3 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} NUL"
    134 10:37:45.12-10:37:44.66 = 3826512-3826466 mSec = 465 mSec Running "1 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} NUL"
    135 10:37:45.59-10:37:45.14 = 3826559-3826514 mSec = 455 mSec Running "2 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} NUL"
    136 10:37:46.03-10:37:45.60 = 3826603-3826560 mSec = 435 mSec Running "3 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} NUL"
    Source drive D: = Volume in drive D is D_SAM_DATA_D Volume Serial Number is 5902-98C0
    Target drive H: = Volume in drive H is Disk2-H_PORTABLE Volume Serial Number is DF49-8430
    Copying "D:\###-SpeedTest-#\#\S\" TO "H:\###-SpeedTest-#\#\T\"
    Copy File "11FDE5EF506760DB-00-00.mrimg.bin" Size 319334486 bytes
    137 10:37:46.22-10:37:46.13 = 3826622-3826613 mSec = 95 mSec Running "1 FSUTIL 319334486"
    138 10:37:48.69-10:37:46.24 = 3826869-3826624 mSec = 2455 mSec Running "1 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    139 10:37:48.80-10:37:48.71 = 3826880-3826871 mSec = 95 mSec Running "2 FSUTIL 319334486"
    140 10:37:51.34-10:37:48.81 = 3827134-3826881 mSec = 2535 mSec Running "2 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    141 10:37:51.46-10:37:51.36 = 3827146-3827136 mSec = 105 mSec Running "3 FSUTIL 319334486"
    142 10:37:53.87-10:37:51.47 = 3827387-3827147 mSec = 2405 mSec Running "3 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    143 10:37:54.94-10:37:53.89 = 3827494-3827389 mSec = 1055 mSec Running "1 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    144 10:37:55.99-10:37:54.95 = 3827599-3827495 mSec = 1045 mSec Running "2 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    145 10:37:57.05-10:37:56.01 = 3827705-3827601 mSec = 1045 mSec Running "3 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    146 10:37:57.16-10:37:57.07 = 3827716-3827707 mSec = 95 mSec Running "1 FSUTIL 319334486"
    147 10:37:59.54-10:37:57.17 = 3827954-3827717 mSec = 2375 mSec Running "1 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    148 10:37:59.65-10:37:59.56 = 3827965-3827956 mSec = 95 mSec Running "2 FSUTIL 319334486"
    149 10:38:01.99-10:37:59.66 = 3828199-3827966 mSec = 2335 mSec Running "2 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    150 10:38:02.09-10:38:02.00 = 3828209-3828200 mSec = 95 mSec Running "3 FSUTIL 319334486"
    151 10:38:04.83-10:38:02.11 = 3828483-3828211 mSec = 2725 mSec Running "3 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    152 10:38:05.99-10:38:04.85 = 3828599-3828485 mSec = 1145 mSec Running "1 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    153 10:38:07.13-10:38:06.01 = 3828713-3828601 mSec = 1125 mSec Running "2 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    154 10:38:08.32-10:38:07.15 = 3828832-3828715 mSec = 1175 mSec Running "3 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    155 10:38:08.43-10:38:08.34 = 3828843-3828834 mSec = 95 mSec Running "1 FSUTIL 319334486"
    156 10:38:13.92-10:38:08.44 = 3829392-3828844 mSec = 5485 mSec Running "1 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    157 10:38:13.99-10:38:13.94 = 3829399-3829394 mSec = 55 mSec Running "2 FSUTIL 319334486"
    158 10:38:19.13-10:38:14.00 = 3829913-3829400 mSec = 5135 mSec Running "2 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    159 10:38:19.19-10:38:19.15 = 3829919-3829915 mSec = 45 mSec Running "3 FSUTIL 319334486"
    160 10:38:24.33-10:38:19.20 = 3830433-3829920 mSec = 5135 mSec Running "3 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    161 10:38:29.52-10:38:24.34 = 3830952-3830434 mSec = 5185 mSec Running "1 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    162 10:38:34.69-10:38:29.54 = 3831469-3830954 mSec = 5155 mSec Running "2 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    163 10:38:39.80-10:38:34.71 = 3831980-3831471 mSec = 5095 mSec Running "3 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    Target drive NUL =NUL
    Copying "D:\###-SpeedTest-#\#\S\" TO "NUL"
    Copy File "11FDE5EF506760DB-00-00.mrimg.bin" Size 319334486 bytes
    164 10:38:39.91-10:38:39.87 = 3831991-3831987 mSec = 45 mSec Running "1 FSUTIL 319334486"
    165 10:38:42.10-10:38:39.92 = 3832210-3831992 mSec = 2185 mSec Running "1 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} NUL"
    166 10:38:42.22-10:38:42.11 = 3832222-3832211 mSec = 115 mSec Running "2 FSUTIL 319334486"
    167 10:38:44.41-10:38:42.24 = 3832441-3832224 mSec = 2175 mSec Running "2 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} NUL"
    168 10:38:44.53-10:38:44.42 = 3832453-3832442 mSec = 115 mSec Running "3 FSUTIL 319334486"
    169 10:38:46.74-10:38:44.55 = 3832674-3832455 mSec = 2195 mSec Running "3 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} NUL"
    170 10:38:47.19-10:38:46.76 = 3832719-3832676 mSec = 435 mSec Running "1 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} NUL"
    171 10:38:47.64-10:38:47.21 = 3832764-3832721 mSec = 435 mSec Running "2 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} NUL"
    172 10:38:48.09-10:38:47.66 = 3832809-3832766 mSec = 435 mSec Running "3 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} NUL"
    Source drive C: = Volume in drive C is C_OCZ_System Volume Serial Number is 6E59-9E7D
    Target drive H: = Volume in drive H is Disk2-H_PORTABLE Volume Serial Number is DF49-8430
    Copying "C:\###-SpeedTest-#\#\S\" TO "H:\###-SpeedTest-#\#\T\"
    Copy File "#2FE769AFA97E71E8-27-27.DIF_27_23_.mrimg.bin.TXT" Size 1014411396 bytes
    173 10:38:48.47-10:38:48.23 = 3832847-3832823 mSec = 245 mSec Running "1 FSUTIL 1014411396"
    174 10:38:54.78-10:38:48.49 = 3833478-3832849 mSec = 6295 mSec Running "1 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    175 10:38:55.02-10:38:54.80 = 3833502-3833480 mSec = 225 mSec Running "2 FSUTIL 1014411396"
    176 10:39:01.33-10:38:55.04 = 3834133-3833504 mSec = 6295 mSec Running "2 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    177 10:39:01.58-10:39:01.35 = 3834158-3834135 mSec = 235 mSec Running "3 FSUTIL 1014411396"
    178 10:39:07.66-10:39:01.60 = 3834766-3834160 mSec = 6065 mSec Running "3 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    179 10:39:11.33-10:39:07.69 = 3835133-3834769 mSec = 3645 mSec Running "1 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    180 10:39:15.10-10:39:11.35 = 3835510-3835135 mSec = 3755 mSec Running "2 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    181 10:39:18.90-10:39:15.13 = 3835890-3835513 mSec = 3775 mSec Running "3 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    182 10:39:19.13-10:39:18.92 = 3835913-3835892 mSec = 215 mSec Running "1 FSUTIL 1014411396"
    183 10:39:25.55-10:39:19.15 = 3836555-3835915 mSec = 6405 mSec Running "1 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    184 10:39:25.78-10:39:25.57 = 3836578-3836557 mSec = 215 mSec Running "2 FSUTIL 1014411396"
    185 10:39:31.72-10:39:25.80 = 3837172-3836580 mSec = 5925 mSec Running "2 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    186 10:39:31.95-10:39:31.74 = 3837195-3837174 mSec = 215 mSec Running "3 FSUTIL 1014411396"
    187 10:39:37.99-10:39:31.97 = 3837799-3837197 mSec = 6025 mSec Running "3 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    188 10:39:41.88-10:39:38.01 = 3838188-3837801 mSec = 3875 mSec Running "1 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    189 10:39:45.87-10:39:41.90 = 3838587-3838190 mSec = 3975 mSec Running "2 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    190 10:39:49.78-10:39:45.90 = 3838978-3838590 mSec = 3885 mSec Running "3 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    191 10:39:50.02-10:39:49.80 = 3839002-3838980 mSec = 225 mSec Running "1 FSUTIL 1014411396"
    192 10:39:57.10-10:39:50.03 = 3839710-3839003 mSec = 7075 mSec Running "1 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    193 10:39:57.17-10:39:57.12 = 3839717-3839712 mSec = 55 mSec Running "2 FSUTIL 1014411396"
    194 10:40:04.09-10:39:57.18 = 3840409-3839718 mSec = 6915 mSec Running "2 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    195 10:40:04.15-10:40:04.12 = 3840415-3840412 mSec = 35 mSec Running "3 FSUTIL 1014411396"
    196 10:40:11.10-10:40:04.16 = 3841110-3840416 mSec = 6945 mSec Running "3 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    197 10:40:18.09-10:40:11.12 = 3841809-3841112 mSec = 6975 mSec Running "1 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    198 10:40:24.96-10:40:18.11 = 3842496-3841811 mSec = 6855 mSec Running "2 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    199 10:40:32.00-10:40:24.98 = 3843200-3842498 mSec = 7025 mSec Running "3 XCOPY C:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    Target drive NUL =NUL
    Copying "C:\###-SpeedTest-#\#\S\" TO "NUL"
    Copy File "#2FE769AFA97E71E8-27-27.DIF_27_23_.mrimg.bin.TXT" Size 1014411396 bytes
    200 10:40:32.11-10:40:32.07 = 3843211-3843207 mSec = 45 mSec Running "1 FSUTIL 1014411396"
    201 10:40:37.90-10:40:32.12 = 3843790-3843212 mSec = 5785 mSec Running "1 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} NUL"
    202 10:40:38.12-10:40:37.92 = 3843812-3843792 mSec = 205 mSec Running "2 FSUTIL 1014411396"
    203 10:40:43.94-10:40:38.14 = 3844394-3843814 mSec = 5805 mSec Running "2 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} NUL"
    204 10:40:44.16-10:40:43.96 = 3844416-3844396 mSec = 205 mSec Running "3 FSUTIL 1014411396"
    205 10:40:49.98-10:40:44.17 = 3844998-3844417 mSec = 5815 mSec Running "3 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} NUL"
    206 10:40:51.36-10:40:50.00 = 3845136-3845000 mSec = 1365 mSec Running "1 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} NUL"
    207 10:40:52.75-10:40:51.37 = 3845275-3845137 mSec = 1385 mSec Running "2 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} NUL"
    208 10:40:54.14-10:40:52.77 = 3845414-3845277 mSec = 1375 mSec Running "3 COPY /B /Y C:\###-SpeedTest-#\#\S\{file} NUL"
    Source drive D: = Volume in drive D is D_SAM_DATA_D Volume Serial Number is 5902-98C0
    Target drive H: = Volume in drive H is Disk2-H_PORTABLE Volume Serial Number is DF49-8430
    Copying "D:\###-SpeedTest-#\#\S\" TO "H:\###-SpeedTest-#\#\T\"
    Copy File "#2FE769AFA97E71E8-27-27.DIF_27_23_.mrimg.bin.TXT" Size 1014411400 bytes
    209 10:40:54.49-10:40:54.26 = 3845449-3845426 mSec = 235 mSec Running "1 FSUTIL 1014411400"
    210 10:41:03.99-10:40:54.51 = 3846399-3845451 mSec = 9485 mSec Running "1 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    211 10:41:04.21-10:41:04.01 = 3846421-3846401 mSec = 205 mSec Running "2 FSUTIL 1014411400"
    212 10:41:14.61-10:41:04.23 = 3847461-3846423 mSec = 10385 mSec Running "2 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    213 10:41:14.85-10:41:14.63 = 3847485-3847463 mSec = 225 mSec Running "3 FSUTIL 1014411400"
    214 10:41:25.37-10:41:14.87 = 3848537-3847487 mSec = 10505 mSec Running "3 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    215 10:41:29.11-10:41:25.39 = 3848911-3848539 mSec = 3725 mSec Running "1 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    216 10:41:33.00-10:41:29.13 = 3849300-3848913 mSec = 3875 mSec Running "2 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    217 10:41:36.79-10:41:33.02 = 3849679-3849302 mSec = 3775 mSec Running "3 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\"
    218 10:41:37.02-10:41:36.81 = 3849702-3849681 mSec = 215 mSec Running "1 FSUTIL 1014411400"
    219 10:41:46.10-10:41:37.04 = 3850610-3849704 mSec = 9065 mSec Running "1 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    220 10:41:46.38-10:41:46.12 = 3850638-3850612 mSec = 265 mSec Running "2 FSUTIL 1014411400"
    221 10:41:56.03-10:41:46.39 = 3851603-3850639 mSec = 9645 mSec Running "2 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    222 10:41:56.27-10:41:56.06 = 3851627-3851606 mSec = 215 mSec Running "3 FSUTIL 1014411400"
    223 10:42:05.86-10:41:56.30 = 3852586-3851630 mSec = 9565 mSec Running "3 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    224 10:42:09.77-10:42:05.88 = 3852977-3852588 mSec = 3895 mSec Running "1 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    225 10:42:13.76-10:42:09.79 = 3853376-3852979 mSec = 3975 mSec Running "2 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    226 10:42:17.77-10:42:13.79 = 3853777-3853379 mSec = 3985 mSec Running "3 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y"
    227 10:42:18.00-10:42:17.80 = 3853800-3853780 mSec = 205 mSec Running "1 FSUTIL 1014411400"
    228 10:42:34.99-10:42:18.02 = 3855499-3853802 mSec = 16975 mSec Running "1 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    229 10:42:35.06-10:42:35.01 = 3855506-3855501 mSec = 55 mSec Running "2 FSUTIL 1014411400"
    230 10:42:51.90-10:42:35.08 = 3857190-3855508 mSec = 16825 mSec Running "2 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    231 10:42:51.96-10:42:51.92 = 3857196-3857192 mSec = 45 mSec Running "3 FSUTIL 1014411400"
    232 10:43:08.91-10:42:51.97 = 3858891-3857197 mSec = 16945 mSec Running "3 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    233 10:43:25.80-10:43:08.93 = 3860580-3858893 mSec = 16875 mSec Running "1 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    234 10:43:43.14-10:43:25.82 = 3862314-3860582 mSec = 17325 mSec Running "2 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    235 10:44:00.01-10:43:43.16 = 3864001-3862316 mSec = 16855 mSec Running "3 XCOPY D:\###-SpeedTest-#\#\S\{file} H:\###-SpeedTest-#\#\T\ /Y /J"
    Target drive NUL =NUL
    Copying "D:\###-SpeedTest-#\#\S\" TO "NUL"
    Copy File "#2FE769AFA97E71E8-27-27.DIF_27_23_.mrimg.bin.TXT" Size 1014411400 bytes
    236 10:44:00.12-10:44:00.07 = 3864012-3864007 mSec = 55 mSec Running "1 FSUTIL 1014411400"
    237 10:44:07.00-10:44:00.13 = 3864700-3864013 mSec = 6875 mSec Running "1 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} NUL"
    238 10:44:07.23-10:44:07.02 = 3864723-3864702 mSec = 215 mSec Running "2 FSUTIL 1014411400"
    239 10:44:14.06-10:44:07.24 = 3865406-3864724 mSec = 6825 mSec Running "2 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} NUL"
    240 10:44:14.28-10:44:14.08 = 3865428-3865408 mSec = 205 mSec Running "3 FSUTIL 1014411400"
    241 10:44:21.14-10:44:14.30 = 3866114-3865430 mSec = 6845 mSec Running "3 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} NUL"
    242 10:44:22.57-10:44:21.16 = 3866257-3866116 mSec = 1415 mSec Running "1 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} NUL"
    243 10:44:23.94-10:44:22.59 = 3866394-3866259 mSec = 1355 mSec Running "2 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} NUL"
    244 10:44:25.35-10:44:23.96 = 3866535-3866396 mSec = 1395 mSec Running "3 COPY /B /Y D:\###-SpeedTest-#\#\S\{file} NUL"
    C:\Users\Alan>

foxidrive
Expert
Posts: 6031
Joined: 10 Feb 2012 02:20

Re: HELP :- FSUTIL + COPY versus XCOPY /? ; Caches + i/o Buf

#2 Post by foxidrive » 30 Nov 2013 21:44

Any read and writes from and to the same HDD happens with a single read write head and it slows down.

A SSD would be quicker by far - they are a good investment.

alan_b
Expert
Posts: 357
Joined: 04 Oct 2008 09:49

Re: HELP :- FSUTIL + COPY versus XCOPY /? ; Caches + i/o Buf

#3 Post by alan_b » 02 Dec 2013 05:04

Thanks for the polite reminder.

I realise now it was a stupid question.
I learnt when I started using Windows as an administrator at home
(instead of a normal User account subject to the control of the I.T. department)
that Windows would run faster if Pagefile.sys was on a non-system Disk,
because then Windows could leave one head over the programme track it was using whilst the other head stacked over the Pagefile.sys track.
I was only able to use that knowledge once I moved from a single disk laptop to a multi-disk desktop.

NEW QUESTION :-

I can employ FSUTIL for disabling the cache/INPUT-buffer when copying a source file to a target destination.
Does FSUTIL have any option to disable the cache/OUTPUT-buffer so that the target file is instantly written to the disk,
or is their any other executable in System32 that might be of use to me.

Regards
Alan

Post Reply