Ticket #36 (closed defect: fixed)
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
Regression Results
| Attachment | Rev. | PASS | FAIL | Nodes | Status | |
| gunnar_7_8.12.diff | never tested |
Change History
Changed 6 years ago by gunnar
-
attachment
gunnar_7_8.12.diff
added

Proposed solution.