-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
C++20? (Not an issue but a question) #453
Comments
Not sure if it is worth to switch to C++20 but I will give it a try. First step (and not last hopefully) will be to check if all platforms that I want to support allow switching to new standard. |
Speed comparison of master vs. 0935b7a of branch c++20 on BMI2 Intel CPU running Linux. Every version was measured three times using Stockfish perf test:
Seems that the compilers are not as smart as expected. Or my generic pullXsb implementation can be improved. |
After fixing pullLsb in bc22873 this looks better now. Well, not for Clang. This testing is on AVX2 AMD Ryzen 3700x running Linux and using more recent comnpilers.
|
#456 shows the ongoing progress. |
Hi!
Sorry, this is not an issue but a suggestion and I just would like to hear your opinion.
In my chess engines, I replaced all that CPU-specialised code (popcount, msb, lsb, etc) with C++20 std commands, where the compiler automatically uses the corresponding intrinsics or other codes depending on the code generation flags.
So my question is: Would you like to switch to C++20 or remain at a lower version? At least with C++20 your code would simplify (a lot?).
I downloaded your latest code and I am indeed replacing your CPU specific code with std-lib commands.
I am compiling for Windows only.
Regards
Achim
The text was updated successfully, but these errors were encountered: