Saltar al contenido

El backtracker JIT: Rust portable a la par del C afinado a mano en tableros difíciles

Un backtracker Rust en profundidad, seguro y portable, especializado en tiempo de ejecución al emitir y compilar Rust propio de cada rompecabezas, llevado de 43 a 123 millones de nodos de búsqueda por segundo en un núcleo. Medido con justicia frente al C de Peter McGavin en la misma máquina: un empate en tableros difíciles y profundos como el Eternity II real, y alrededor del 44 % de su velocidad en los fáciles. Cada peldaño recorre el árbol idéntico; toda la ganancia es código, no algoritmo.

por Raphaël Anjou · method por Peter McGavin

experimentomediciónmedidoGo fasterBacktrackingActualizado 2026-07-20
Reproducircómputo intensivo — el script y los resultados están en el repositoriorelanza la búsquedaPresupuesto: 6–30 s per benchmark run
Hardware y ejecución
Banco estandarizadoSolo CPU
0.0083núcleos·hora
Núcleos
1
RAM
16 GiB
GPU
0
CPU
Apple M1
Máquina
MacBook (Apple M1, 8 cores), single-threaded generated binary
Presupuesto
6–30 s per benchmark run
Inicio
deterministic search; a candidate-order --seed only reorders equal buckets for portfolio diversity
Reproducir este resultado

cómputo intensivo — el script y los resultados están en el repositorio

cargo run --release -p dfs-codegen --bin run_dfs_codegen_jit -- --puzzle P.json --chain2 --opt native

Seguir explorando

Citado por

Fuente de la páginaVer como Markdown