You mean that binary file size of Sayuri is over 29MB?
If so, it's really too big.
All file size of Sayuri in SayuriCompiled are from 5MB to 7MB.
Sayuri for Android(armeabi-v7a) is 5.1MB.
I'm sorry, I don't know a solution of the problem.
or
If you mean "It's too big for Sayuri to use main memory over 29MB as default!!", you can change source code.
At the 83rd line in "chess_def.h", you can change the line from...
constexpr std::size_t UCI_DEFAULT_TABLE_SIZE = 32ULL * 1024ULL * 1024ULL;
into...
constexpr std::size_t UCI_DEFAULT_TABLE_SIZE = 8ULL * 1024ULL * 1024ULL;
If you think 8MB is too big, then you can change the 83rd and 86th line into...
(83rd) constexpr std::size_t UCI_DEFAULT_TABLE_SIZE = <size less than 8>ULL * 1024ULL * 1024ULL;
(86th) constexpr std::size_t UCI_MIN_TABLE_SIZE = <size less than 8>ULL * 1024ULL * 1024ULL;
[Notes]
1. "UCI_DEFAULT_TABLE_SIZE" means Sayuri's hash table size as default.
2. "UCI_MIN_TABLE_SIZE" means the minimum size of Sayuri's hash table.
[Important Notes!!]
1. "UCI_DEFAULT_TABLE_SIZE < UCI_MIN_TABLE_SIZE" may cause errors.
2. The size must be "2^n (Nth power of 2)", because of hash function.
3. Don't change "1024ULL * 1024ULL", because UCI command handles a size by the MB.
Thank you.
Hironori Ishibashi
2016年2月2日火曜日 17時05分58秒 UTC+9
dr.mi...@cvachovec.de: