-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathall.bat
More file actions
85 lines (67 loc) · 3.19 KB
/
Copy pathall.bat
File metadata and controls
85 lines (67 loc) · 3.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
@echo off
cd /d %~dp0
rem Îäčí ďđîăîí öĺëčęîě: ńâĺđęŕ, çŕěĺđű, çŕěĺđ áĺç PGO, çŕěĺđ âíĺ BenchmarkDotNet, ëčńňčíăč.
dotnet --list-runtimes | findstr /c:"Microsoft.NETCore.App 8." >nul || goto nortm
dotnet --list-runtimes | findstr /c:"Microsoft.NETCore.App 9." >nul || goto nortm
dotnet --list-runtimes | findstr /c:"Microsoft.NETCore.App 10." >nul || goto nortm
rem .NET 11 íĺ îá˙çŕňĺëĺí: áĺç íĺăî ďđîĺęň ńîáčđŕĺňń˙ íŕ ňđ¸ő đŕíňŕéěŕő.
rem Îň÷¸ňű ďđîřëîăî ďđîăîíŕ íĺ óäŕë˙ţňń˙ ńŕěč, č äâŕ ďđîăîíŕ ńěĺřčâŕţňń˙ â îäíîé ďŕďęĺ.
if exist BenchmarkDotNet.Artifacts rd /s /q BenchmarkDotNet.Artifacts
if exist BenchmarkDotNet.Artifacts.NoPgo rd /s /q BenchmarkDotNet.Artifacts.NoPgo
dotnet build -c Release
if errorlevel 1 goto fail
rem Ńâĺđęŕ îňâĺňîâ íŕ ęŕćäîě ńîáđŕííîě đŕíňŕéěĺ. Đŕńőîćäĺíčĺ îńňŕíŕâëčâŕĺň ďđîăîí.
for %%F in (net8.0 net9.0 net10.0 net11.0) do (
if exist "bin\Release\%%F\InliningEhProof.dll" (
dotnet run -c Release -f %%F --no-build -- checks > checks_%%F.txt
if errorlevel 1 goto fail
)
)
dotnet run -c Release -f net10.0 --no-build -- --filter *
if errorlevel 1 goto fail
rem Ňîň ćĺ ďđîăîí ń âűęëţ÷ĺííűě ďđîôčëĺě: áĺç íĺăî JIT íĺ ďîäńňŕâë˙ĺň ęîä
rem ěĺňîäŕ ń try/finally, č ýňî íŕäî ďîęŕçŕňü çŕěĺđîě, ŕ íĺ ńëîâŕěč.
set DOTNET_TieredPGO=0
dotnet run -c Release -f net10.0 --no-build -- --filter * --artifacts BenchmarkDotNet.Artifacts.NoPgo
set DOTNET_TieredPGO=
rem Çŕěĺđ âíĺ BenchmarkDotNet: âňîđîé íĺçŕâčńčěűé ń÷¸ň÷čę ďîä ňîň ćĺ đĺçóëüňŕň.
for %%F in (net8.0 net9.0 net10.0 net11.0) do if exist "bin\Release\%%F\InliningEhProof.dll" dotnet run -c Release -f %%F --no-build -- timing > timing_%%F.txt
cd Disasm
dotnet build -c Release
if errorlevel 1 goto faildisasm
rem Diffable çŕěĺí˙ĺň ŕäđĺńŕ íŕ 0xD1FFAB1E, číŕ÷ĺ ëčńňčíăč äâóő đŕíňŕéěîâ íĺ ńđŕâíčňü.
set DOTNET_JitDisasmDiffable=1
set DOTNET_JitDisasm=CallElementFinally CallElementPlain CallElementFinallyBlocked CallElementPlainBlocked CallElementGuardFinally CallElementGuardPlain CallElementGuardFinallyBlocked CallElementGuardPlainBlocked CallListForeach CallListManual CallListForeachBlocked CallListManualBlocked
bin\Release\net8.0\Disasm.exe > disasm_net8.txt 2>&1
bin\Release\net9.0\Disasm.exe > disasm_net9.txt 2>&1
bin\Release\net10.0\Disasm.exe > disasm_net10.txt 2>&1
if exist bin\Release\net11.0\Disasm.exe (bin\Release\net11.0\Disasm.exe > disasm_net11.txt 2>&1)
rem Ňîň ćĺ ěŕřčííűé ęîä ń âűęëţ÷ĺííűě ďđîôčëĺě. Áĺç íĺăî âűâîä ďđî ďđîôčëü
rem äĺđćčňń˙ íŕ îäíčő ÷čńëŕő.
set DOTNET_TieredPGO=0
bin\Release\net10.0\Disasm.exe > disasm_nopgo_net10.txt 2>&1
if exist bin\Release\net11.0\Disasm.exe (bin\Release\net11.0\Disasm.exe > disasm_nopgo_net11.txt 2>&1)
set DOTNET_TieredPGO=
set DOTNET_JitDisasm=
set DOTNET_JitDisasmDiffable=
cd ..
echo.
echo Gotovo:
echo BenchmarkDotNet.Artifacts\results
echo BenchmarkDotNet.Artifacts.NoPgo\results
echo checks_net8.0.txt .. checks_net11.0.txt (net11 tolko s SDK 11)
echo timing_net8.0.txt .. timing_net11.0.txt (net11 tolko s SDK 11)
echo Disasm\disasm_net8.txt .. disasm_net11.txt
echo Disasm\disasm_nopgo_net10.txt, disasm_nopgo_net11.txt
pause
exit /b 0
:nortm
echo Ne najden runtime 8, 9 ili 10.
pause
exit /b 1
:faildisasm
cd ..
:fail
echo Progon ostanovlen.
pause
exit /b 1