]> git.sesse.net Git - stockfish/commitdiff
L1/L2 friendly PhaseTable[]
authorMarco Costalba <mcostalba@gmail.com>
Sat, 15 Aug 2009 14:18:17 +0000 (15:18 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Sat, 15 Aug 2009 15:09:10 +0000 (16:09 +0100)
In Movepicker c'tor we access during initialization one of
MainSearchPhaseIndex..QsearchWithoutChecksPhaseIndex globals.

Postpone definition of PhaseTable[] just after them so that
when PhaseTable[] will be accessed later in get_next_move()
it will be already present in L1/L2.

It works like an implicit prefetching of PhaseTable[].

Also shrink PhaseTable[] to fit an L1 cache line of 16 bytes
using uint8_t instead of int.

This apparentely innocuous patch gives an astonish speed
up of 1.6% under MSVC 2010 beta, pgo optimized !

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>

No differences found