Looking forward to testing it.
Regards,
CL
Moderator: Ras
You will still have time losses if the machine your engine plays happens to be running on a time that is modulo 49.x days (so about once every 50 days, if your engine is running at the wrong time of day on that day you will see time losses. Search the code base I provided for bugbug:drc and you will find it.PK wrote:First of all, thank You Dann for Your bugfixes! I have already merged them into my code and recompiled all the files. Also, the zip file on Rodent's webpage has been updated - 32-bit version now displays pv and both 64-bit versions are after profile guided optimization. So the official version is still on my page.
I have been asked for strength gain. It is rather modest. The code changes should yield something like +20 Elo, and there should be something more from pgo optimization. Anyhow, new Rodent is much slower, so quality of the compile becomes a bit more important than for the 1.6 version.
I also hope that time losses have finally gone away. They occured in the positions when the engine started a new iteration, finished it very quickly because of a draw detection or mate distance pruning or whatever of this kind, started another, the same pruning kicked in... It could have happen several times before 4096 nodes elapsed, and nodes-to-speed ratio in this scenario has been very skewed. right now Rodent checks for timeout also at the end of the iteration, irrespectively from node count. If anyone does any modifications to Sungorus, he should start from the very same fix, followed by Dann Corbit's range check fixes.
Also, I'd like You to play with creating the new personalities. I have just added another one to the pack (Solid). Current set of options probably allows more freedom than anything on the market, including good old Chessmaster series. I will probably run a little tournament for different personalities, if I get a couple of external entries.
Have fun!
Sorry, I see you address this in point 2, too late to edit my post...mar wrote:Also note the GetTickCount64 is not available on XP.
DWORD start_time = GetTickCount(); // some huge numbermar wrote:Hi Dann,
I think it's ok because he only uses it to measure delta time.
Those 49.7 days is simply the number of milliseconds in 2^32.
There are other issues with GetTickCount (granularity).
Also note the GetTickCount64 is not available on XP.
But the delta matches. Wrap for unsigned numbers is well defined.Dann Corbit wrote:DWORD start_time = GetTickCount(); // some huge number
DWORD sometime_later = GetTickCount(); // some small number
looks like we have not passed the elapsed time yet, even though we have.