| View previous topic :: View next topic |
| Author |
Message |
Vincent Diepeveen
Joined: 09 Mar 2006 Posts: 1738 Location: The Netherlands
|
Post subject: Re: Stockfish port to C# Complete Posted: Sun Mar 25, 2012 9:50 am |
|
|
| RoadWarrior wrote: |
Interesting - Peter Österlund has just released a C++ implementation of his strong (Elo 2682) Java engine CuckooChess. He says that it's about twice as fast as the Java version: http://talkchess.com/forum/viewtopic.php?t=42999
From experience, C# runs faster than Java. So any claim of a C/C# slowdown in excess of a factor of 2 needs some pretty strong evidence before I'm going to believe it. |
Yeah about a factor of 4 it is effectively.
Just try to do the same things like the C engines ok. Multiproces/multithread, hashtables, and elo-optimizations rather than nps optimizations.
If i turn off hashtable for example in Diep for the last ply, diep's nps goes up 20%.
Years ago already we saw 20 mln nps engines, and that was with forward pruning and with elo optimization.
Every compare here is with GCC. A junk compiler i use daily, so the junk it produces i know everything about. For free and therefore everyone who has a commercial interest in throwing in persons to keep it slow, they do that (ever seen a $100 billion company not do something like that to keep a $100 billion company huh?). A compiler factor 2 slower already, and even then nothing is on par with it.
What will happen if you have a full blown engine is that your L1i will totally get overrun by C#, that the caches get stressed to the limit, and that everywhere penalties will be there for C#. Heavy branch mispredicts which the pgo (not working very well for GCC to say polite - it's losing already 30% there) of the C/C++ engines doesn't have at all, dozens of cycles just for loading a few bytes out of L1i, which no C/C++ engine has either.
And all that won't be there in a testlab comparing just 1 routine versus a C compile.
And now you still are in the proces of comparing to beancounters so far...
Diep has a huge evaluation function, yet it really suffers also from a 1.34% L1i missrate. That 1.34% might seem little to you, but it's a huge slowdown.
If diep would be in C#, even if you'd produce efficient code with C#, which C# won't do of course, then you're looking at a slowdown of factor 5 already *just because of the L1i*.
Also i've never seen a C# engine use effectively a core or 16, someone already referred to that here earlier that when he's doing things SMP that he slows down a lot more.
So you'll be factors slower than C/C++. Where we already can't take it serious when you're 20% slower, let alone factor 2, so far the evidence we have there from a bit more objective tests than you did do here so far is that the slowdown is more of a factor 4 than factor 2.
And that for a programming language from which just got designed to counter Java.
The real question is: why would you want to slowdown volunteerly factor 4?
That's like the difference between an i7 sixcore and my old dual opteron dual core from januari 2006. A six year difference, as they ain't following Moore very well...
It's a no brainer of course: go use C for a chess engine, as most also mess up with C++ versus C.
Wanting to run 6 years behind volunteerly just because of the language choice is something i'll never understand.
It's true you also can say that from assembler versus C; assembler is a lot faster, yet it's also way more work and not portable.
In reality in object oriented languages you type more lines of code than in an imperative programming language. Now i do understand those who favour C++ over C, as in theory you can reach the same speed.
So learning that language better in manner that you write code similar to C, i do understand the choice of some for C++.
Yet C# or Java. 6 years. Even a T-ford from start 20th century wasn't driving on the roads factor 4 slower than todays cars.
Over here it's getting towards 130 KM/hour (most areas still 100 or 120 caused by civil servants who all vote for the communists and don't have a car themselves). A t-ford could definitely reach 130 KM/hour within a factor of 4.
So you're running 100 years behind man.
Vincent |
|
| Back to top |
|
 |
|
| Subject |
Author |
Date/Time |
Stockfish port to C# Complete |
David Whitten |
Thu Mar 15, 2012 9:13 pm |
Re: Stockfish port to C# Complete |
Jan Brouwer |
Thu Mar 15, 2012 9:29 pm |
Re: Stockfish port to C# Complete |
David Whitten |
Thu Mar 15, 2012 9:45 pm |
Re: Stockfish port to C# Complete |
Jan Brouwer |
Thu Mar 15, 2012 10:51 pm |
Re: Stockfish port to C# Complete |
David Whitten |
Thu Mar 15, 2012 11:04 pm |
Re: Stockfish port to C# Complete |
Mel Cooper |
Mon Mar 19, 2012 12:11 pm |
Re: Stockfish port to C# Complete |
David Whitten |
Thu Mar 15, 2012 11:08 pm |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Sun Mar 18, 2012 2:57 pm |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Sun Mar 18, 2012 3:05 pm |
Re: Stockfish port to C# Complete |
David Whitten |
Sun Mar 18, 2012 3:24 pm |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Sun Mar 18, 2012 3:27 pm |
Re: Stockfish port to C# Complete |
David Whitten |
Sun Mar 18, 2012 3:44 pm |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Sun Mar 18, 2012 3:47 pm |
Re: Stockfish port to C# Complete |
David Whitten |
Sun Mar 18, 2012 3:59 pm |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Sun Mar 18, 2012 4:11 pm |
Re: Stockfish port to C# Complete |
Marco Costalba |
Sun Mar 18, 2012 4:49 pm |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Sun Mar 18, 2012 5:00 pm |
Re: Stockfish port to C# Complete |
Marco Costalba |
Sun Mar 18, 2012 5:22 pm |
Re: Stockfish port to C# Complete |
Ronald de Man |
Sun Mar 18, 2012 5:53 pm |
Re: Stockfish port to C# Complete |
David Whitten |
Sun Mar 18, 2012 7:01 pm |
Re: Stockfish port to C# Complete |
Matthew R. Brades |
Sun Mar 18, 2012 7:06 pm |
Re: Stockfish port to C# Complete |
Ronald de Man |
Sun Mar 18, 2012 7:10 pm |
Re: Stockfish port to C# Complete |
Marco Costalba |
Sun Mar 18, 2012 10:31 pm |
Re: Stockfish port to C# Complete |
David Whitten |
Mon Mar 19, 2012 3:55 am |
Re: Stockfish port to C# Complete |
Marco Costalba |
Mon Mar 19, 2012 7:42 am |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Mon Mar 19, 2012 8:00 am |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Mon Mar 19, 2012 8:03 am |
Re: Stockfish port to C# Complete |
Ronald de Man |
Mon Mar 19, 2012 7:41 pm |
Re: Stockfish port to C# Complete |
Mark Pearce |
Mon Mar 19, 2012 4:27 pm |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Tue Mar 20, 2012 1:12 am |
Re: Stockfish port to C# Complete |
Mark Pearce |
Sat Mar 24, 2012 11:43 am |
Re: Stockfish port to C# Complete |
Gary |
Sat Mar 24, 2012 1:15 pm |
Re: Stockfish port to C# Complete |
Mark Pearce |
Sat Mar 24, 2012 3:28 pm |
Re: Stockfish port to C# Complete |
Mark Pearce |
Sat Mar 24, 2012 5:13 pm |
Re: Stockfish port to C# Complete |
Balint Pfliegel |
Sun Mar 25, 2012 7:15 am |
Re: Stockfish port to C# Complete |
Mark Pearce |
Sun Mar 25, 2012 10:40 am |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Sun Mar 25, 2012 9:50 am |
Re: Stockfish port to C# Complete |
Marco Costalba |
Sun Mar 25, 2012 10:14 am |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Sun Mar 25, 2012 3:23 pm |
Re: Stockfish port to C# Complete |
Marco Costalba |
Sun Mar 25, 2012 5:16 pm |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Mon Mar 26, 2012 9:34 pm |
Re: Stockfish port to C# Complete |
Jim Ablett |
Tue Mar 27, 2012 10:23 pm |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Wed Mar 28, 2012 9:03 am |
Re: Stockfish port to C# Complete |
Jim Ablett |
Wed Mar 28, 2012 11:13 am |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Wed Mar 28, 2012 12:39 pm |
Re: Stockfish port to C# Complete |
Jim Ablett |
Wed Mar 28, 2012 12:48 pm |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Wed Mar 28, 2012 12:54 pm |
Re: Stockfish port to C# Complete |
Jim Ablett |
Wed Mar 28, 2012 1:06 pm |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Wed Mar 28, 2012 1:08 pm |
Re: Stockfish port to C# Complete |
Robert Hyatt |
Wed Mar 28, 2012 5:01 pm |
Re: Stockfish port to C# Complete |
Jim Ablett |
Wed Mar 28, 2012 5:19 pm |
GCC 4.7.0 versus intel c++ |
Vincent Diepeveen |
Fri Mar 30, 2012 12:15 am |
Re: GCC 4.7.0 versus intel c++ |
Jim Ablett |
Fri Mar 30, 2012 9:18 am |
Re: GCC 4.7.0 versus intel c++ |
Vincent Diepeveen |
Fri Mar 30, 2012 1:15 pm |
Re: Stockfish port to C# Complete |
Ricardo Barreira |
Wed Mar 28, 2012 2:46 pm |
Re: Stockfish port to C# Complete |
Mark Pearce |
Sun Mar 25, 2012 11:03 am |
Re: Stockfish port to C# Complete |
Balint Pfliegel |
Sun Mar 25, 2012 12:31 pm |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Sun Mar 25, 2012 3:39 pm |
Re: Stockfish port to C# Complete |
Balint Pfliegel |
Sun Mar 25, 2012 4:50 pm |
Re: Stockfish port to C# Complete |
Balint Pfliegel |
Sun Mar 25, 2012 5:05 pm |
Re: Stockfish port to C# Complete |
David Whitten |
Sun Mar 25, 2012 8:31 pm |
Re: Stockfish port to C# Complete |
Ted Wong |
Mon Mar 26, 2012 12:50 am |
Re: Stockfish port to C# Complete |
David Whitten |
Mon Mar 26, 2012 10:38 am |
Re: Stockfish port to C# Complete |
Balint Pfliegel |
Mon Mar 26, 2012 6:02 am |
Re: Stockfish port to C# Complete |
David Whitten |
Mon Mar 26, 2012 10:42 am |
Re: Stockfish port to C# Complete |
Vincent Diepeveen |
Mon Mar 26, 2012 9:59 pm |
Re: Stockfish port to C# Complete |
Mark Pearce |
Tue Mar 27, 2012 7:43 pm |
Re: Stockfish port to C# Complete |
David Whitten |
Sun Mar 18, 2012 3:23 am |
Re: Stockfish port to C# Complete |
Balint Pfliegel |
Wed Mar 21, 2012 10:48 pm |
Re: Stockfish port to C# Complete |
David Whitten |
Thu Mar 22, 2012 4:19 am |
Re: Stockfish port to C# Complete |
Balint Pfliegel |
Thu Mar 22, 2012 6:51 am |
Re: Stockfish port to C# Complete |
David Whitten |
Thu Mar 22, 2012 3:19 pm |
Re: Stockfish port to C# Complete |
Balint Pfliegel |
Fri Mar 23, 2012 5:47 am |
Re: Stockfish port to C# Complete |
Jim Ablett |
Wed Mar 28, 2012 4:14 pm |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|