Doctor Hyatt question

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

kgburcham
Posts: 2016
Joined: Sun Feb 17, 2008 4:19 pm

Doctor Hyatt question

Post by kgburcham »

If Firebird code is taken from Rybka, how do you explain the size difference? No one would leave out winning ideas from the worlds strongest program. I dont get it. Lots of conflicting info.

Rybka 3 x64 smp
2875kb


Firebird 1.0 Beta x64 smp
346kb
User avatar
Dr.Wael Deeb
Posts: 9773
Joined: Wed Mar 08, 2006 8:44 pm
Location: Amman,Jordan

Re: Doctor Hyatt question

Post by Dr.Wael Deeb »

This question should be addressed to the Rybka fanboys who are nomerous here....but don't bother as the most decent answer you'll get will be bla bla bla & more bla....
Dr.D
_No one can hit as hard as life.But it ain’t about how hard you can hit.It’s about how hard you can get hit and keep moving forward.How much you can take and keep moving forward….
User avatar
hgm
Posts: 28356
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Doctor Hyatt question

Post by hgm »

The size of an executable really doesn't say much. Surely the 2.7MB is not all code. Most of it wil be tables. Tables can included as initialized data, or they can be generated at run time, during engine initialization. There must be some simple formula or algorithm to calculate each value in the table; no one types a million table entries by hand. Of course it is more efficient to initialize the table at run time, but there can be good reasons not to do it. (E.g. keep the formula / algorithm secret, to make reverse engineering more difficult.)

Another issue is compiler optimalizations. When I compile micro-Max with gcc, I get a 13kB .exe. Denis Mendoza made a PGO optimized compilation, and the exe then became 173kB. Mind you, we are talking about _exactly_ the same source here. We _now_ the DM compile of uMax is a perfect 'clone' of my uMax. So how can a 173kB program become a 13KB program without leaving anything out? Well, other compiler, other compiler options...