Quad-Core Solver
Performance Summary Notes


The file with 10000 random cubes used in the suboptimal tests is available here (load with url parameter batch=1), the other files are built-in and selected with the batch param as shown in the logs.

A frequency distribution for the optimal 1000 test is here.

For the 19 move optimal test the first 100 sequences with 19 moves were taken from Herbert Kociemba's list of 100000 optimally solved cubes linked in section "Optimal Cube Solver" here. The cube configs were made by applying the solution sequences to a solved cube, so these are actually the inverse configs.

In this test of the Quad-Core Solver the presolved cubes were solved suboptimally, for optimal solutions see the performance summary for Solver 2.

The 77 cube presolved test is the set of configs that are 3-color solutions and at the maximum distance from 6-color solution which is 16 moves, this set is reduced by symmetry (see counts for DistP2).

With the computer used in these tests (spec below) the solver defaults to 8 concurrent processes (one per thread). In the optimal tests, param conc=9 was used which allows the 18 cube moves to be distributed evenly across 9 processes for better load balancing which yields a small performance gain (~1 second for average solve).

All tests were done with Google Chrome on Fedora 34 on an AMD Ryzen 5 3400G, 3.7Ghz Quad-Core/8 thread, 16 GB RAM (DDR4 2667MHz).