Author: Dann Corbit
Date: 10:15:19 11/27/01
Go up one level in this thread
On November 27, 2001 at 06:14:38, Ralf Elvsén wrote: >On November 26, 2001 at 20:39:57, Dann Corbit wrote: >>On November 24, 2001 at 15:53:21, Kevin Stafford wrote: >>>On November 24, 2001 at 15:40:24, Tom Kerrigan wrote: >>>>C# is more or less the same as Java, so to answer your question, no, there will >>>>not be many chess engines written in C#, just as there are not many written in >>>>Java. >>>> >>>>-Tom >>> >>>C# is not more or less the same as java. They share a similar syntax, but there >>>are major differences in the implementation. C# as a I understand it provides >>>the option of native compilation, so that there is no VM layer. Even natively >>>compiled it won't be as fast as C or even C++, but should be measurably faster >>>than java. Whether it will be suitable to chess applications, its still to early >>>to say. >> >>There are compilers for Java also. >>Even with these compilers, performance still pales. >>There is no dynamic memory allocation in either Java or C#. > >I don't see why this is relevant. I have written chess programs in >Java and C. I use dynamic memory allocation in neither version. >In fact, I avoid it just because it is slow. Dynamic data structures. Hash tables, Skip lists, AVL trees, etc. >Besides, when an object is created in Java, as far as I understand it, >this is analogous to a call to malloc. You just don't have to >call free :) Garbage collection is unfathomably lame, and one of the chief faults of BASIC and Java. It is a key reason why it can not be reliably used for real time systems. >>Therefore, it is unspeakably lame as a language for writing chess engines. > >Tell Peter Kappler... I assume he has written a Java chess program? I predict (then) that it is 2-4x slower than the equivalent C program. A small, fixed constant (it is true) but the equivalent of a 2-4x CPU speed increase or about 100 ELO. In short, I think it is silly to write chess programs in Java. If you are truly an expert, you might write better algorithms to make up the difference. But if that were the case, why wouldn't you have the good sense to have written them in C or C++ in the first place?
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.