Ticket #36 (closed defect: fixed)

Opened 6 years ago

Last modified 6 years ago

Number of reading cache entries can vary with platform.

Reported by: gunnar Owned by: gnugo
Priority: normal Milestone: 3.7.8
Component: source Version:
Severity: normal Keywords:
Cc: patch: yes

Description (last modified by gunnar) (diff)

The default size of the reading cache is set to 8 MB, which translates into 8 * 1024 * 1024 / sizeof(Hashentry) entries. Unfortunately the Hashentry size varies with platform, from 24 bytes on a typical 32-bit platform to 32 bytes on platforms where either ints are 64 bits (not so common) or structs are padded for 8 byte alignment (e.g. AMD64).

The consequence is that the number of reading cache entries varies with platform, causing different cache behaviour and node counts. Potentially it can also cause differences in the move generation.

Probably the best solution is to use a fixed number of cache entries unless the -M option has been set to force a specific cache size. Obviously this means that the default cache size in terms of bytes will vary with platform, which leads to some complications for documentation and e.g. the --help option which shows the default size. It is also unclear how to handle the --enable-cache-size configure option.

Attachments

gunnar_7_8.12.diff Download (5.7 KB) - added by gunnar 6 years ago.
Proposed solution.

Regression Results

Attachment Rev. PASS FAIL Nodes Status
gunnar_7_8.12.diff Download never tested

Change History

Changed 6 years ago by gunnar

Proposed solution.

comment:1 Changed 6 years ago by gunnar

  • patch set

comment:2 Changed 6 years ago by gunnar

  • Description modified (diff)
  • Milestone changed from 3.8 to 3.7.8

comment:3 Changed 6 years ago by gunnar

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.