From 99cd7e7f5ed180e8a65578719f80a22016602ba9 Mon Sep 17 00:00:00 2001 From: SzilBalazs Date: Fri, 28 Jul 2023 21:23:28 +0200 Subject: [PATCH] Added prefetch method to improve transposition table performance Bench: 3364651 --- src/search/search_thread.h | 2 ++ src/search/tt.h | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/search/search_thread.h b/src/search/search_thread.h index a13a75b..4da63fe 100644 --- a/src/search/search_thread.h +++ b/src/search/search_thread.h @@ -301,6 +301,8 @@ namespace search { board.make_move(move, &nnue); Score score; + shared.tt.prefetch(board.get_hash()); + if (!in_check && depth >= 3 && made_moves >= 4 && !move.is_promo() && move.is_quiet()) { Depth R = lmr_reductions[depth][made_moves]; diff --git a/src/search/tt.h b/src/search/tt.h index ba39b90..9016b77 100644 --- a/src/search/tt.h +++ b/src/search/tt.h @@ -90,6 +90,10 @@ namespace search { } } + void prefetch(U64 hash) { + __builtin_prefetch(get_entry(hash), 0); + } + core::Move get_hash_move(U64 hash) { TTEntry *entry = get_entry(hash); if (entry->hash == hash)