Skip to content

Conversation

@Jan-Frase
Copy link
Owner

@Jan-Frase Jan-Frase commented Oct 10, 2025

     Running benches/criterion_perft.rs (target/release/deps/criterion_perft-34430b451a7464cd)
Gnuplot not found, using plotters backend
starting pos, depth: 3/starting pos, depth: 3
                        time:   [2.6289 ms 2.6465 ms 2.6658 ms]
                        thrpt:  [3.3393 Melem/s 3.3637 Melem/s 3.3862 Melem/s]
                 change:
                        time:   [−0.1479% +0.7854% +1.7754%] (p = 0.12 > 0.05)
                        thrpt:  [−1.7444% −0.7793% +0.1481%]
                        No change in performance detected.
Found 8 outliers among 100 measurements (8.00%)
  7 (7.00%) high mild
  1 (1.00%) high severe

position 2, depth: 3/position 2, depth: 3
                        time:   [26.423 ms 26.685 ms 26.986 ms]
                        thrpt:  [3.6263 Melem/s 3.6673 Melem/s 3.7037 Melem/s]
                 change:
                        time:   [−0.2261% +0.9854% +2.2757%] (p = 0.13 > 0.05)
                        thrpt:  [−2.2251% −0.9758% +0.2266%]
                        No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
  3 (3.00%) high mild
  3 (3.00%) high severe

position 3, depth: 4/position 3, depth: 4
                        time:   [15.736 ms 15.880 ms 16.068 ms]
                        thrpt:  [2.6909 Melem/s 2.7229 Melem/s 2.7477 Melem/s]
                 change:
                        time:   [−0.4802% +0.7017% +1.9928%] (p = 0.30 > 0.05)
                        thrpt:  [−1.9538% −0.6968% +0.4825%]
                        No change in performance detected.
Found 11 outliers among 100 measurements (11.00%)
  5 (5.00%) high mild
  6 (6.00%) high severe

position 4, depth: 3/position 4, depth: 3
                        time:   [2.5633 ms 2.5937 ms 2.6283 ms]
                        thrpt:  [3.6019 Melem/s 3.6500 Melem/s 3.6933 Melem/s]
                 change:
                        time:   [−1.9194% −0.4637% +1.0826%] (p = 0.54 > 0.05)
                        thrpt:  [−1.0710% +0.4659% +1.9570%]
                        No change in performance detected.
Found 13 outliers among 100 measurements (13.00%)
  4 (4.00%) high mild
  9 (9.00%) high severe

position 5, depth: 3/position 5, depth: 3
                        time:   [18.614 ms 18.737 ms 18.882 ms]
                        thrpt:  [3.3037 Melem/s 3.3292 Melem/s 3.3511 Melem/s]
                 change:
                        time:   [−1.8430% −0.5306% +0.7776%] (p = 0.44 > 0.05)
                        thrpt:  [−0.7716% +0.5334% +1.8776%]
                        No change in performance detected.
Found 12 outliers among 100 measurements (12.00%)
  7 (7.00%) high mild
  5 (5.00%) high severe

position 6, depth: 3/position 6, depth: 3
                        time:   [21.245 ms 21.378 ms 21.536 ms]
                        thrpt:  [4.1740 Melem/s 4.2048 Melem/s 4.2312 Melem/s]
                 change:
                        time:   [−2.8857% −2.0926% −1.2321%] (p = 0.00 < 0.05)
                        thrpt:  [+1.2474% +2.1373% +2.9714%]
                        Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
  7 (7.00%) high mild
  5 (5.00%) high severe

General make unmake/General make unmake
                        time:   [1.8130 µs 1.8220 µs 1.8326 µs]
                        thrpt:  [26.192 Melem/s 26.344 Melem/s 26.475 Melem/s]
                 change:
                        time:   [+34.203% +36.134% +37.912%] (p = 0.00 < 0.05)
                        thrpt:  [−27.490% −26.543% −25.486%]
                        Performance has regressed.
Found 12 outliers among 100 measurements (12.00%)
  3 (3.00%) high mild
  9 (9.00%) high severe

Move gen/Move gen       time:   [2.9369 µs 2.9575 µs 2.9831 µs]
                        thrpt:  [16.090 Melem/s 16.230 Melem/s 16.344 Melem/s]
                 change:
                        time:   [−7.3631% −5.2152% −3.3056%] (p = 0.00 < 0.05)
                        thrpt:  [+3.4186% +5.5021% +7.9483%]
                        Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
  6 (6.00%) high mild
  5 (5.00%) high severe

     Running benches/iai_perft.rs (target/release/deps/iai_perft-ffafc7003d202720)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running benches/manual_perft.rs (target/release/deps/manual_perft-c8612232fcf64ca8)
Name: "starting pos", Nps: 3196477.
Name: "position 2", Nps: 3213787.
Name: "position 3", Nps: 2940741.
Name: "position 4", Nps: 3274616.
Name: "position 5", Nps: 3514318.
Name: "position 6", Nps: 4008746.

Total nodes: 16046250
Total time: 4.7s
Total nodes per second: 3398182

@Jan-Frase Jan-Frase linked an issue Oct 10, 2025 that may be closed by this pull request
@Jan-Frase
Copy link
Owner Author

Jan-Frase commented Oct 12, 2025

Final bench compared to master:

     Running benches/criterion_perft.rs (target/release/deps/criterion_perft-b6a3841c7b9f1fec)
Gnuplot not found, using plotters backend
Benchmarking starting pos, depth: 3/starting pos, depth: 3: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 6.8s, enable flat sampling, or reduce sample count to 60.
starting pos, depth: 3/starting pos, depth: 3
                        time:   [1.3454 ms 1.3498 ms 1.3550 ms]
                        thrpt:  [6.5699 Melem/s 6.5950 Melem/s 6.6166 Melem/s]
                 change:
                        time:   [−21.472% −19.191% −16.549%] (p = 0.00 < 0.05)
                        thrpt:  [+19.831% +23.748% +27.343%]
                        Performance has improved.
Found 9 outliers among 100 measurements (9.00%)
  3 (3.00%) high mild
  6 (6.00%) high severe

position 2, depth: 3/position 2, depth: 3
                        time:   [14.105 ms 14.217 ms 14.351 ms]
                        thrpt:  [6.8190 Melem/s 6.8837 Melem/s 6.9383 Melem/s]
                 change:
                        time:   [−18.053% −17.139% −16.169%] (p = 0.00 < 0.05)
                        thrpt:  [+19.288% +20.684% +22.031%]
                        Performance has improved.
Found 10 outliers among 100 measurements (10.00%)
  3 (3.00%) high mild
  7 (7.00%) high severe

position 3, depth: 4/position 3, depth: 4
                        time:   [8.5019 ms 8.5456 ms 8.5922 ms]
                        thrpt:  [5.0323 Melem/s 5.0597 Melem/s 5.0857 Melem/s]
                 change:
                        time:   [−21.996% −20.779% −19.638%] (p = 0.00 < 0.05)
                        thrpt:  [+24.437% +26.230% +28.198%]
                        Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild

Benchmarking position 4, depth: 3/position 4, depth: 3: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 6.8s, enable flat sampling, or reduce sample count to 60.
position 4, depth: 3/position 4, depth: 3
                        time:   [1.3391 ms 1.3453 ms 1.3519 ms]
                        thrpt:  [7.0025 Melem/s 7.0373 Melem/s 7.0696 Melem/s]
                 change:
                        time:   [−21.290% −18.328% −15.615%] (p = 0.00 < 0.05)
                        thrpt:  [+18.504% +22.441% +27.049%]
                        Performance has improved.
Found 9 outliers among 100 measurements (9.00%)
  2 (2.00%) high mild
  7 (7.00%) high severe

position 5, depth: 3/position 5, depth: 3
                        time:   [9.9206 ms 9.9597 ms 10.003 ms]
                        thrpt:  [6.2361 Melem/s 6.2631 Melem/s 6.2878 Melem/s]
                 change:
                        time:   [−19.477% −18.832% −18.209%] (p = 0.00 < 0.05)
                        thrpt:  [+22.262% +23.201% +24.188%]
                        Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
  5 (5.00%) high mild
  2 (2.00%) high severe

position 6, depth: 3/position 6, depth: 3
                        time:   [10.832 ms 10.873 ms 10.922 ms]
                        thrpt:  [8.2303 Melem/s 8.2675 Melem/s 8.2989 Melem/s]
                 change:
                        time:   [−19.800% −19.322% −18.816%] (p = 0.00 < 0.05)
                        thrpt:  [+23.178% +23.950% +24.688%]
                        Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
  8 (8.00%) high mild
  5 (5.00%) high severe

General make unmake/General make unmake
                        time:   [806.51 ns 808.07 ns 810.04 ns]
                        thrpt:  [59.256 Melem/s 59.401 Melem/s 59.515 Melem/s]
                 change:
                        time:   [−4.8671% −3.7449% −2.8103%] (p = 0.00 < 0.05)
                        thrpt:  [+2.8916% +3.8906% +5.1161%]
                        Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
  1 (1.00%) low severe
  6 (6.00%) high mild
  4 (4.00%) high severe

Move gen/Move gen       time:   [1.6329 µs 1.6380 µs 1.6441 µs]
                        thrpt:  [29.196 Melem/s 29.303 Melem/s 29.395 Melem/s]
                 change:
                        time:   [−11.828% −11.031% −10.219%] (p = 0.00 < 0.05)
                        thrpt:  [+11.382% +12.398% +13.414%]
                        Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
  5 (5.00%) high mild
  6 (6.00%) high severe

     Running benches/iai_perft.rs (target/release/deps/iai_perft-e7acfa1cdcbb5816)
starting_perft
  Instructions:            17521684 (+0.177925%)
  L1 Accesses:             23527376 (+0.133793%)
  L2 Accesses:                  207 (-1.895735%)
  RAM Accesses:                 647 (No change)
  Estimated Cycles:        23551056 (+0.133573%)

position_2_perft
  Instructions:           171464530 (+0.182425%)
  L1 Accesses:            228018652 (+0.145130%)
  L2 Accesses:                  173 (-1.142857%)
  RAM Accesses:                 730 (+0.137174%)
  Estimated Cycles:       228045067 (+0.145124%)

position_3_perft
  Instructions:            94271485 (+0.162376%)
  L1 Accesses:            123794664 (+0.137269%)
  L2 Accesses:                  187 (No change)
  RAM Accesses:                 596 (-0.167504%)
  Estimated Cycles:       123816459 (+0.137217%)

position_4_perft
  Instructions:            16423850 (+0.210038%)
  L1 Accesses:             22041645 (+0.164031%)
  L2 Accesses:                  142 (No change)
  RAM Accesses:                 559 (No change)
  Estimated Cycles:        22061920 (+0.163880%)

position_5_perft
  Instructions:           118717752 (+0.497934%)
  L1 Accesses:            157301947 (+0.458847%)
  L2 Accesses:                  171 (-1.724138%)
  RAM Accesses:                 656 (+0.152672%)
  Estimated Cycles:       157325762 (+0.458790%)

position_6_perft
  Instructions:           137866116 (+0.220112%)
  L1 Accesses:            185918347 (+0.173439%)
  L2 Accesses:                  182 (+1.111111%)
  RAM Accesses:                 712 (No change)
  Estimated Cycles:       185944177 (+0.173420%)

     Running benches/manual_perft.rs (target/release/deps/manual_perft-9567a8160fedb079)
Name: "starting pos", Nps: 6673789.
Name: "position 2", Nps: 7116376.
Name: "position 3", Nps: 5233514.
Name: "position 4", Nps: 6005354.
Name: "position 5", Nps: 6958134.
Name: "position 6", Nps: 8274551.

Total nodes: 16046250
Total time: 2.3s
Total nodes per second: 7051938

@Jan-Frase Jan-Frase merged commit 2351983 into master Oct 12, 2025
2 checks passed
@Jan-Frase Jan-Frase deleted the 27-experiment-with-copy-make-instead-of-make-unmake branch October 12, 2025 08:45
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.

Experiment with copy make instead of make unmake

2 participants