From 9a013b7c68f94e6be0fe8748c9012a441fe0273f Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Mon, 12 Jan 2026 18:09:43 +0100 Subject: Improve performance of H48 solver with prefetching With this commit we re-structure how the node expansion in the H48 solution search works to allow prefetching of pruning values, showing performance improvements in the range of 30-45% on x86, depending on table size and solution length. A small bug fix related to appending solutions is included in this commit. --- benchmarks/img/17moves16threads.png | Bin 105391 -> 119331 bytes benchmarks/img/17moves1thread.png | Bin 105189 -> 112954 bytes benchmarks/img/17moves4threads.png | Bin 105326 -> 114709 bytes benchmarks/img/18moves16threads.png | Bin 115210 -> 112774 bytes benchmarks/img/18moves1thread.png | Bin 117889 -> 113328 bytes benchmarks/img/18moves4threads.png | Bin 110133 -> 117736 bytes benchmarks/img/19moves16threads.png | Bin 114824 -> 117654 bytes benchmarks/img/19moves1thread.png | Bin 116892 -> 119075 bytes benchmarks/img/19moves4threads.png | Bin 112923 -> 119488 bytes benchmarks/img/20moves16threads.png | Bin 127508 -> 121476 bytes benchmarks/img/20moves1thread.png | Bin 117068 -> 112429 bytes benchmarks/img/20moves4threads.png | Bin 119011 -> 123801 bytes 12 files changed, 0 insertions(+), 0 deletions(-) (limited to 'benchmarks/img') diff --git a/benchmarks/img/17moves16threads.png b/benchmarks/img/17moves16threads.png index 487f3a6..45f5901 100644 Binary files a/benchmarks/img/17moves16threads.png and b/benchmarks/img/17moves16threads.png differ diff --git a/benchmarks/img/17moves1thread.png b/benchmarks/img/17moves1thread.png index d42147f..70bcad0 100644 Binary files a/benchmarks/img/17moves1thread.png and b/benchmarks/img/17moves1thread.png differ diff --git a/benchmarks/img/17moves4threads.png b/benchmarks/img/17moves4threads.png index 0b15f3e..edfca34 100644 Binary files a/benchmarks/img/17moves4threads.png and b/benchmarks/img/17moves4threads.png differ diff --git a/benchmarks/img/18moves16threads.png b/benchmarks/img/18moves16threads.png index 15351bd..df5210a 100644 Binary files a/benchmarks/img/18moves16threads.png and b/benchmarks/img/18moves16threads.png differ diff --git a/benchmarks/img/18moves1thread.png b/benchmarks/img/18moves1thread.png index 6812708..dafba4e 100644 Binary files a/benchmarks/img/18moves1thread.png and b/benchmarks/img/18moves1thread.png differ diff --git a/benchmarks/img/18moves4threads.png b/benchmarks/img/18moves4threads.png index fdde486..9b89bed 100644 Binary files a/benchmarks/img/18moves4threads.png and b/benchmarks/img/18moves4threads.png differ diff --git a/benchmarks/img/19moves16threads.png b/benchmarks/img/19moves16threads.png index 7b3a2ab..42212a6 100644 Binary files a/benchmarks/img/19moves16threads.png and b/benchmarks/img/19moves16threads.png differ diff --git a/benchmarks/img/19moves1thread.png b/benchmarks/img/19moves1thread.png index e269b4d..f51886e 100644 Binary files a/benchmarks/img/19moves1thread.png and b/benchmarks/img/19moves1thread.png differ diff --git a/benchmarks/img/19moves4threads.png b/benchmarks/img/19moves4threads.png index 70457c0..44ac692 100644 Binary files a/benchmarks/img/19moves4threads.png and b/benchmarks/img/19moves4threads.png differ diff --git a/benchmarks/img/20moves16threads.png b/benchmarks/img/20moves16threads.png index 5aa5b9d..82c28b2 100644 Binary files a/benchmarks/img/20moves16threads.png and b/benchmarks/img/20moves16threads.png differ diff --git a/benchmarks/img/20moves1thread.png b/benchmarks/img/20moves1thread.png index 44548a5..1f285d9 100644 Binary files a/benchmarks/img/20moves1thread.png and b/benchmarks/img/20moves1thread.png differ diff --git a/benchmarks/img/20moves4threads.png b/benchmarks/img/20moves4threads.png index 30f9744..c23fe81 100644 Binary files a/benchmarks/img/20moves4threads.png and b/benchmarks/img/20moves4threads.png differ -- cgit v1.3