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/