But as a chess programmer,  I disagree with your statement about orders
of magnitude.  If your chess program is 30% faster than mine, all else
being equal,  you have a measurably stronger chess program and you will
probably win even a fairly short match.   In a highly competitive chess
tournament where many programs have a realistic chance of winning, a 30
or 40 percent difference is to die for.

If your program has an annoying 0.75 second delay,  even getting this
down a little is a big deal.
Even if I were a Java programmer, I would go for as little as a 2 to 1
speed increase even if it uglied up my code a little.   But I wouldn't
obsess over 20 percent and I wouldn't reorganize the code for that.

- Don


There is another case were speed matters, beside the 'being the best under time constraint with similar hardware' one. Suppose you have written some experimental code and you want to conduct many experiments in order to fine tune parameters, or even to introduce some variation in your experimental code. Suppose each experiment takes a long time: several minutes or even a few hours, and you have to conduct many of them. Then even a 30% speedup might be very worthfull, as it could save a lot of experiment time, even if one had to spend more time for initial optimisation.

I often went into such situations, and many time this was the primary raison I spent some time to optimize my code.

Another point about code efficiency is that it is probably very dependent on individual programmer's skill, probably more than on the intrinsic difference between C++ and Java. As a C++/C/ and even assembly programmer I will probably never use Java. Not that I consider C++ as far superior - just a little bit :-) - but there is no benefit for me to use Java. All what is said to be a great advantage of Java can be done in C++ as well. I can develop very quickly 'quick and dirty' code to test new ideas in C++, and recode it in a very clean / organized / modular / robust ... code later if needed. This ability is not coming from the programming langage itself... and I don't think it takes me more time to do it in C++ rather than in Java.

Antoine

_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to