Skip to content

Latest commit

 

History

History
43 lines (30 loc) · 1.8 KB

File metadata and controls

43 lines (30 loc) · 1.8 KB

Порядок прогона

SDK: .NET 8, 9, 10 side-by-side, .NET 11 preview — только для дизасма (BenchmarkDotNet 0.15.8 его не собирает, dotnet/BenchmarkDotNet#3017).

1. Бенчмарки (каждая машина)

dotnet run -c Release -f net10.0            # полный прогон: LinqSumBench + LinqSumWidthBench
dotnet run -c Release -f net10.0 -- width   # только LinqSumWidthBench (минуты) — или run_width.bat из корня

Если GlobalSetup упал с "X != Y" — это не ошибка прогона, это методы разошлись в ответе. Ничего не мерять, разбираться.

2. Дизасм (каждая машина)

Disasm\snap.bat          # Windows: обычный проход + *_vt512.txt
Disasm\snap_pref512.bat  # Windows: *_pref512.txt — DOTNET_PreferredVectorBitWidth=512
Disasm/snap.sh           # Linux-вариант snap.bat

Всё одним снятием: перед повтором старые disasm_*.txt удалить, старые и новые дампы не смешивать.

3. Демо переполнения

bin\Release\net10.0\Disasm.exe overflow

Контрольный запуск со скалярным путём:

set DOTNET_EnableHWIntrinsic=0
bin\Release\net10.0\Disasm.exe overflow
set DOTNET_EnableHWIntrinsic=

Куда складывать результаты в репо

  • Results/Comp_N/ — содержимое BenchmarkDotNet.Artifacts/results полного прогона.
  • Results/Comp_N/Width512/ — содержимое results прогона -- width.
  • Disasm/Listings_Comp_N/ — все disasm_*.txt машины.
  • Нумерация машин — как в таблице статьи.