Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: .Net engine

Author: Russell Reagan

Date: 15:56:18 02/12/04

Go up one level in this thread


On February 12, 2004 at 18:35:48, Andrew Wagner wrote:

>     Hi all. I have embarked on a most interesting project...writing a chess
>engine in VB.Net. They say that .Net languages are supposed to be so much slower
>because of the framework...will be interesting to see if it's true. If nothing
>else, this is a great opportunity for me to learn more about .Net. Any thoughts
>on this?

I wouldn't say "so much slower". Look for C# benchmarks that compare with native
C++ (as opposed to managed .NET C++). Often times the C# code is within a few
percent of C++, and sometimes even faster. Of course, there are a few things it
loses pretty badly in. I'm sure it will only get better as newer compilers and
newer versions of the languages come out.

>     Also, one interesting thing I've run across...it seems to me from my
>research that using the Byte data type is more efficient memory-wise when
>working with small integers than using an integer data type, but it's actually
>slower somehow when doing math operations.
>           1.) Can anyone verify for me that this is true?
>       and 2.) Which is more important?

Generally the data that is the same size as the cpu registers is the most
efficient. So on a 32-bit machine, 32-bit variables should be the fastest to
work with. However, that is not the only factor. You have to take into account
things like the cache. Usually working with 8-bit data on a 32-bit cpu might be
a little slower than working with 32-bit data, but if using 8-bit data means
that all of your data and code fits into the cache, then using 8-bit data can be
significantly faster.



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.