Sylwy wrote:
Hi Gabor !
A 64-bit Java chess engine can run on a 32-bit Java environment without any problem. Of course, the performances are for 32-bit. See, please, Fischerle 0.9.30b (and others).
Best to you !
SilvianR
Regarding Fischerle, there is another subtle but important point why the current version is labeled "64 bit". Although the jar file surely runs as well on 32 bit systems, the number of hash table entries to be allocated (given the amount of hash table memory to be made available in MB) is calculated by taking into account the memory footprints of the java objects and object references that make up the hash table structures. Specifically, on 64 bit systems, each object reference uses up 8 bytes of memory, while on 32 bit architectures, 4 byte will typically be used.
This implies that, on 32 bit architectures, Fischerle coud allocate more hashtable entries than on 64 bit systems. The current version, however, allocates HT sizes by presupposing a 64 bit architecture, as the internal memory size calculation is hardwired. Hence, if the the current version Fischerle 0.9.30b is run on 32 bit systems, you will get a slightly underperforming instance of Fischerle as the available amount of hash table space won't be completely utilized.
I plan to address this point in a future version of Fischere - probably by implementing an additional parameter that allows to specify the architecture (distinguishing between 64 amd 32 bit) on which Fischerle shall run. Strictly speaking, one should further take into account the particular Java implementation (Linux vs. Win32 vs. Win64 vs Mac, etc.), as the memory footprint might not just depend on the 64 vs. 32 bit question. Technically, this amounts to performing extensive analysis with a tool such as the NetBeans profiler, which I used for determining the HT memory footprint on Win64.
Roland