Skip to content

Feature/benchmarkdotnet#27

Merged
boraaros merged 2 commits into
mainfrom
feature/benchmarkdotnet
Mar 24, 2026
Merged

Feature/benchmarkdotnet#27
boraaros merged 2 commits into
mainfrom
feature/benchmarkdotnet

Conversation

@boraaros

Copy link
Copy Markdown
Owner

No description provided.

- Add BenchmarkDotNet 0.15.8 NuGet package

- Create SolverBenchmarks class with MemoryDiagnoser and 4 benchmark methods (Example1/2/3/5)

- Add --benchmark CLI flag to Program.cs to route to BenchmarkDotNet runner

- Example4 excluded (known crash on main), Example6 excluded (too fast for meaningful measurement)
…RunStrategy.Monitoring

Previous run measured cached TT lookups (microseconds). Now measures real cold search (milliseconds).

Baseline results on main:

  Example1 (empty board):     146ms,   178 MB allocated

  Example2 (four pieces):     176ms,   176 MB allocated

  Example3 (twelve pieces):  1300ms,  1630 MB allocated

  Example5 (complex midgame):13892ms, 15907 MB allocated

Key finding: GC pressure is the dominant bottleneck (1.28M Gen0 collections for Example5).
@boraaros boraaros merged commit 0cd44f2 into main Mar 24, 2026
1 check passed
@boraaros boraaros deleted the feature/benchmarkdotnet branch March 24, 2026 20:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant