mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-22 08:23:05 -05:00
81 lines
2.0 KiB
Batchfile
Executable File
81 lines
2.0 KiB
Batchfile
Executable File
@echo off
|
|
|
|
setlocal
|
|
setlocal EnableDelayedExpansion
|
|
|
|
set Configuration=Release
|
|
if not X%1==X set Configuration=%1
|
|
|
|
pushd %~dp0..
|
|
set ProjRoot=%cd%
|
|
if not exist "%ProjRoot%\build\VStudio\build\%Configuration%" echo === No tests found >&2 & goto fail
|
|
popd
|
|
|
|
verifier /query | findstr winfsp >nul 2>nul
|
|
if !ERRORLEVEL! equ 0 echo warning: verifier for winfsp is ON >&2
|
|
|
|
set launchctl="%ProjRoot%\build\VStudio\build\%Configuration%\launchctl-x64.exe"
|
|
set fsbench="%ProjRoot%\build\VStudio\build\%Configuration%\fsbench-x64.exe"
|
|
|
|
if X%2==Xbaseline (
|
|
%launchctl% start memfs64 testdsk "" M: >nul
|
|
rem Cannot use timeout under cygwin/mintty: "Input redirection is not supported"
|
|
waitfor 7BF47D72F6664550B03248ECFE77C7DD /t 3 2>nul
|
|
cd M: >nul 2>nul || (echo === Unable to find drive M: >&2 & goto fail)
|
|
)
|
|
|
|
mkdir fsbench
|
|
pushd fsbench
|
|
|
|
set OptFiles=1000 2000 3000 4000 5000
|
|
if X%2==Xbaseline set OptFiles=10000
|
|
for %%a in (%OptFiles%) do (
|
|
call :csv %%a "%fsbench% --empty-cache --files=%%a file_*"
|
|
)
|
|
|
|
set OptRdwrCc=100 200 300 400 500
|
|
if X%2==Xbaseline set OptRdwrCc=1000
|
|
for %%a in (%OptRdwrCc%) do (
|
|
call :csv %%a "%fsbench% --empty-cache --rdwr-cc=%%a rdwr_cc_*"
|
|
)
|
|
|
|
set OptRdwrNc=100 200 300 400 500
|
|
if X%2==Xbaseline set OptRdwrNc=100
|
|
for %%a in (%OptRdwrNc%) do (
|
|
call :csv %%a "%fsbench% --empty-cache --rdwr-nc=%%a rdwr_nc_*"
|
|
)
|
|
|
|
set OptMmap=100 200 300 400 500
|
|
if X%2==Xbaseline set OptMmap=1000
|
|
for %%a in (%OptMmap%) do (
|
|
call :csv %%a "%fsbench% --empty-cache --mmap=%%a mmap_*"
|
|
)
|
|
|
|
popd
|
|
rmdir fsbench
|
|
|
|
if X%2==Xbaseline (
|
|
%launchctl% stop memfs64 testdsk >nul
|
|
rem Cannot use timeout under cygwin/mintty: "Input redirection is not supported"
|
|
waitfor 7BF47D72F6664550B03248ECFE77C7DD /t 3 2>nul
|
|
)
|
|
|
|
exit /b 0
|
|
|
|
:fail
|
|
exit /b 1
|
|
|
|
:csv
|
|
set Iter=%1
|
|
for /F "tokens=1,2,3" %%i in ('%2') do (
|
|
if %%j==OK (
|
|
set Name=%%i
|
|
set Name=!Name:.=!
|
|
set Time=%%k
|
|
set Time=!Time:s=!
|
|
|
|
echo !Name!,!Iter!,!Time!
|
|
)
|
|
)
|
|
exit /b 0
|