Hey thanks! I feel like C# gets a bum rap on performance. But honestly, at least in regard to chess engine applications or maybe even machine learning in general, the performance of C# is very comparable to the languages that are being touted for performance (i.e. C++ or Rust.) The one area that neither C++ or Rust can compete, is the capability demonstrated by the .NET run-time to optimize code based on run-time characteristics (i.e. optimizing branches, memory loads, etc.) Originally, I was originally going to eventually migrate Pedantic to C++ for better performance, but I'm thinking my time would be better spent starting a NNUE engine when I'm done with Pedantic.
Pedantic Developer's Log Stardate...
Moderators: hgm, Rebel, chrisw
-
- Posts: 253
- Joined: Mon Aug 26, 2019 4:34 pm
- Location: Clearwater, Florida USA
- Full name: JoAnn Peeler
Re: Pedantic Developer's Log Stardate...
-
- Posts: 2580
- Joined: Tue Aug 30, 2016 8:19 pm
- Full name: Rasmus Althoff
Re: Pedantic Developer's Log Stardate...
C/C++ compilers such as GCC and Clang offer PGO, profile guided optimisation. Since Rust uses LLVM as back-end, it should also allow that.
Rasmus Althoff
https://www.ct800.net
https://www.ct800.net
-
- Posts: 253
- Joined: Mon Aug 26, 2019 4:34 pm
- Location: Clearwater, Florida USA
- Full name: JoAnn Peeler
Re: Pedantic Developer's Log Stardate...
It was my understanding that the PGO offered by Clang was based on a static profile and doesn't allow for changes to that profile gathered real-time as the program is running. Whereas the .NET runtime supports both static and dynamic profiles. The .NET runtime is constantly gathering runtime statistics and optimizing and reoptimizing code as conditions change as the program is running. C++ does not support dynamic PGO as such. If I'm wrong, then I apologize for mischaracterizing the capabilities of the C++ development environment.
-
- Posts: 2580
- Joined: Tue Aug 30, 2016 8:19 pm
- Full name: Rasmus Althoff
Re: Pedantic Developer's Log Stardate...
Oh, that's true. The profile is generated over different positions and won't adjust to changing circumstances after building the final binary. It's an interesting question whether the additional performance potential from dynamic optimisation like .NET, e.g. when transitioning through the different phases of a game, outweighs the possible additional overhead from gathering that information.
Rasmus Althoff
https://www.ct800.net
https://www.ct800.net
-
- Posts: 253
- Joined: Mon Aug 26, 2019 4:34 pm
- Location: Clearwater, Florida USA
- Full name: JoAnn Peeler
End of the Pedantic HCE Experiement
End of the Pedantic HCE Experiement
Just a little over one year ago "we" announced the release of Pedantic. We were ambititious at the time, and announced it as the pursuit of my dream to build my first working chess engine (since my first in the early 1980s). In our first Amateur Series tournament in division 10, Pedantic surprised tournament leader Apotheosis, with a surprise counter attack from its queen dashing Spamdrew's hopes to finish that tournament undefeated. Today, I am announcing that I will no longer be working on HCE enhancements for Pedantic, but will instead focus on NNUE and all the promise it will surely provide.
As time passes, interest in investing in Pedantic HCE may arise once again. But until then, I want to say thinks to the core team: me, myself and I. This ragtag team of gals will forever have a place in my heart.
A big thanks to all the fans, testers, viewers, and general enthusiast who followed our progress.
Just a little over one year ago "we" announced the release of Pedantic. We were ambititious at the time, and announced it as the pursuit of my dream to build my first working chess engine (since my first in the early 1980s). In our first Amateur Series tournament in division 10, Pedantic surprised tournament leader Apotheosis, with a surprise counter attack from its queen dashing Spamdrew's hopes to finish that tournament undefeated. Today, I am announcing that I will no longer be working on HCE enhancements for Pedantic, but will instead focus on NNUE and all the promise it will surely provide.
As time passes, interest in investing in Pedantic HCE may arise once again. But until then, I want to say thinks to the core team: me, myself and I. This ragtag team of gals will forever have a place in my heart.
A big thanks to all the fans, testers, viewers, and general enthusiast who followed our progress.
-
- Posts: 12662
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: Pedantic Developer's Log Stardate...
Tuning to a test set will weaken game play. It can be useful to find out if an idea is implemented correctly.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.