Skip to content
Chen Shuang edited this page Jun 8, 2025 · 38 revisions

Solvers

Solver Language Variations
nxopt c++ nxopt11, nxopt21, nxopt31, nxopt22
vcube c++ vcube104, vcube108, vcube112, vcube208, vcube308
reid's optimal solver c reid
Kociemba's optimal solver python kocpy
Cube Explorer pascal CE, CEhuge
Open Source Cube Explorer pascal kocce0, kocce1, kocce2
3ColorCube javascript 3Color835M, 3ColorOpt
stickersolve c++ sticker
h48 c h48h0, h48h1, h48h2, h48h6
cubeopt c++ cubeopt, cube48opt, cubenp

Space-node product

Pruning table size * number of nodes visited, less is better.

Average of 100 solves, in units of 1e15 Bytes (1PB).

Solver Table size/MB 15f 16f 17f inf
nxopt11 20.3366 0.085 1.030 13.757
nxopt21 325.386 0.147 1.367 16.563
nxopt31 2603.08 0.315 2.246 20.307 183.431
nxopt22 7809.26 0.664 2.936 28.020 216.542
vcube104 20.3366 0.087 1.028 13.720
vcube108 325.386 0.140 1.398 17.019
vcube112 2603.08 0.279 2.306 20.400 182.078
vcube208 7809.26 0.586 2.874 28.184 217.277
vcube308 22777.0 0.501 3.439 28.038 221.597
reid 35.2271 * 2 0.907 11.360 95.391
kocpy 833.172 0.916 11.057 110.312
kocce0 28.1816 0.166
kocce1 705.886 0.514 6.263
kocce2 1972.71 0.532 6.269 63.334
CE 28.1816 0.169 2.021 20.483
CEhuge 1972.71 0.509 6.269 63.334 436.803
3Color835M 1043.65 1.514 15.561 163.006
3ColorOpt 2959.11 1.497 14.085 138.270 763.862
sticker 12884.9 7.524 52.351 508.051
h48h0 29.3918 + 59.9050 1.218 14.502
h48h1 58.7837 + 59.9050 0.811 9.543
h48h2 117.567 + 59.9050 0.598 6.990 74.452
h48h3 235.135 + 59.9050 0.498 5.782
h48h4 470.270 + 59.9050 0.556 6.182
h48h5 940.540 + 59.9050 0.504 5.586 57.229 401.626
h48h6 1881.07 + 59.9050 0.483 5.307 53.678 376.395
cubeopt10 20.3366 0.076 0.920 12.304
cubeopt01 88.9728 0.155 1.911 21.347
cubeopt20 325.386 0.122 1.340 15.355
cubeopt11 1423.56 0.212 2.117 22.377 213.026
cubeopt30 2603.08 0.185 1.859 18.323 175.937
cube48opt1 30.4012 0.205 2.369 25.802
cube48opt2 121.605 0.203 2.083 23.104
cube48opt3 243.210 0.208 2.127 22.780
cube48opt4 486.420 0.230 1.948 21.867
cube48opt5 972.840 0.228 1.927 22.786
cube48opt6 1945.68 0.230 1.985 22.940 197.870
cube48opt7 3891.36 0.241 1.965 23.780 199.615
cube48opt8 7782.72 0.335 2.483 26.780 197.300
cubenp10 22.7620 0.052 0.634 8.532
cubenp01 99.5841 0.112 1.318 15.085
cubenp20 364.193 0.083 0.870 10.307
cubenp11 1593.34 0.158 1.585 16.383
cubenp30 2913.54 0.125 1.227 12.718 114.453

Number of nodes visited

Average of 100 solves, in units of 1 million, less is better.

"X-move" denotes random-move scramble of specific number of moves, "inf-move" denotes random-state scramble.

Solver 15-move 16-move 17-move inf-move
nxopt11 4.180 50.627 676.488
nxopt21 0.451 4.200 50.902
nxopt31 0.121 0.863 7.801 70.467
nxopt22 0.085 0.376 3.588 27.729
vcube104 4.295 50.568 674.668
vcube108 0.431 4.297 52.306
vcube112 0.107 0.886 7.837 69.947
vcube208 0.075 0.368 3.609 27.823
vcube308 0.022 0.151 1.231 9.729
reid 12.877 161.25 1353.948
kocpy 1.100 13.271 132.400
kocce0 5.899
kocce1 0.729 8.873
kocce2 0.270 3.178 32.105
CE 6.004 71.721 726.827
CEhuge 0.258 3.178 32.105 221.423
3Color835M 1.451 14.910 156.188
3ColorOpt 0.506 4.760 46.727 258.139
sticker 0.584 4.063 39.430
h48h0 13.645 162.41
h48h1 6.836 80.400
h48h2 3.371 39.384 419.518
h48h3 1.689 19.598
h48h4 1.049 11.661
h48h5 0.504 5.584 57.204 401.447
h48h6 0.249 2.734 27.655 193.921
cubeopt10 3.733 45.261 605.024
cubeopt01 1.743 21.482 239.927
cubeopt20 0.375 4.119 47.191
cubeopt11 0.149 1.487 15.719 149.643
cubeopt30 0.071 0.714 7.039 67.588
cube48opt1 6.747 77.913 848.722
cube48opt2 1.666 17.132 189.996
cube48opt3 0.855 8.746 93.665
cube48opt4 0.472 4.005 44.955
cube48opt5 0.234 1.981 23.422
cube48opt6 0.118 1.020 11.790 101.697
cube48opt7 0.062 0.505 6.111 51.297
cube48opt8 0.043 0.319 3.441 25.351
cubenp10 2.302 27.869 374.873
cubenp01 1.125 13.239 151.479
cubenp20 0.229 2.388 28.302
cubenp11 0.099 0.995 10.282
cubenp30 0.043 0.421 4.365 39.283

Average time per node

Average of 100 solves, in units of 1 nanosecond, less is better.

Please note that the following results are highly dependent on the executing environment.

Intel Core i7-10750H (6-core 12-thread)

Single-thread results (ns/node)

Solver 15-move 16-move 17-move inf-move
nxopt11 139.539
nxopt21 185.758 176.827 173.381
nxopt31 225.167 201.615 191.337 201.617
nxopt22 282.246 270.800 269.386 269.140
vcube104 93.216 89.018
vcube108 131.679 128.264 126.622
vcube112 183.137 150.037 143.185 145.752
vcube208 244.820 216.474 207.608 208.546
reid 61.377 62.623
kocpy 332.935
kocce0 110.500
kocce1 212.563 212.754
kocce2 164.995 172.858 162.854
h48h0 112.491
h48h1 116.153
h48h2 118.351
h48h6 143.903 136.752 137.878 136.723
cubeopt10 80.814
cubeopt20 98.198 91.771 88.475
cubeopt30 106.758 105.099 99.448 101.621
cube48opt1 46.721 44.572
cube48opt2 53.585 52.058
cube48opt6 58.653 59.028 55.392 55.650
cube48opt7 67.161 69.245 66.025 64.136
cube48opt8 76.337 73.434 73.832 73.117
cubenp10 139.656 138.462
cubenp20 158.640 148.907 145.633
cubenp30 161.857 167.441 158.515 159.037

12-thread results

Solver ns/node time/s time*space/s/GB
nxopt31* 23.824 1.679 4.371
nxopt22* 31.850 0.883 6.896
CEhuge* 19.570 4.333 8.548
vcube112* 19.736 1.380 3.592
vcube208* 28.324 0.788 6.154
vcube308* 33.007 0.321 7.311
h48h6* 18.630 3.613 7.013
cubeopt30* 16.927 1.144 2.978
cube48opt6* 9.538 0.970 1.887
cube48opt7* 10.151 0.521 2.027
cube48opt8* 10.734 0.272 2.117
cubenp30* 25.410 0.998 2.908

Apple M1 Pro (10-core)

10-thread results

Solver ns/node time/s time*space/s/GB
nxopt31* 25.367 1.788 4.654
nxopt22* 30.026 0.833 6.505
cubeopt30* 14.149 0.958 2.494
cube48opt6* 8.427 0.861 1.675
cubenp30* 20.401 0.802 2.337