Intel i7-8850H mit 3.8 GHz | 2.200.000 nps
Intel Celeron 847 mit 1.1 GHz | 470.000 nps
Intel i7-8850H mit 3.8 GHz | 2.200.000 nps
Intel i7-4770 mit 3.2 GHz | 1.700.000 nps
Intel Celeron 847 mit 1.1 GHz | 470.000 nps
bench-Befehl kann man dafür sorgen, dass auf den verschiedenen Rechnern der identische Suchbaum absolviert wird. Das erkennt man an der Zahl der berechneten Knoten. Als Leistungsindex nimmt man schließlich die Knoten pro Sekunde (nps).benchsf.bat nennen.@ECHO off
SET SF=%1
IF NOT EXIST %SF% GOTO RAUS
CLS
ECHO Starte %SF% ...
start /B /WAIT /REALTIME /AFFINITY 0x1 %SF% <CLine.txt >nul
pause
GOTO FERTIG
:RAUS
ECHO Programm %SF% nicht gefunden
:FERTIG
start /B /WAIT /REALTIME /AFFINITY 0x2 %SF% <SF_Kommandos.txt >nul. Sie startet Stockfish auf dem ersten Core der CPU (/AFFINITY 0x1) im - sonst besser nie manuell zu nutzenden - REALTIME-Modus. Damit versuche ich Stockfish einen eigenen Prozessor zu reservieren und diesen "ungestört" nutzen zu können.<SF_Kommandos.txt. SF_Kommandos.txt ist eine Textdatei, in der die Befehle stehen, die man Stockfish normalerweise über die Kommandozeile eingibt. Die so genannte Eingabeumleitung von einer Datei auf die Konsole erfolgt durch das Kleiner-Zeichen vor dem Textdateinamen.nul> abgeschlossen. Dieser Parameter sorgt dafür, dass die Stockfish-(Text-)ausgaben an das "Null-Device" umgleitet werden und nicht auf den Bildschirm (das macht das Größer-Zeichen). Ihr Anteil an der Rechenzeit wird dadurch reduziert und das Ergebnis aussagekräftiger - man will ja nicht die Geschwindigkeit der Textausgabe auf dem Bildschrm messen. DIe Programmierer von Stockfish waren so genial, das Benchmark-Ergebnis nicht über die hier ja umgelenkte Standard-Ausgabe auszugeben, sondern über die Fehler-Ausgabe (wenn ich mich nicht irre). Die wird so nicht umgeleitet und kann am Bildschirm abgelesen werden.SF_Kommandos.txt stehen die Kommandos, die Stockfish aufführen soll.setoption name SyzygyPath value E:\Endspieltabellen\szTB
setoption name SyzygyProbeLimit value 0
bench 16 1 22
quitNodes searched in der Ausgabe stehen. Der eigentlich Leistungsindex wären dann die Nodes/second. Auf meinem Rechner waren das, während ich das hier geschrieben habe, 2.324.151 nps.benchsf c:\Arena\Engines\stockfish_10_x64_bmi2.exe.
! Spaßeshalber könnte man auf HT-Rechnern auch 0xC ausprobieren, um dem Programm beide Ausführungspfade eines Kerns (des 2.) zu reservieren. Was rauskommt, wenn man mit mehreren Threads testet, aber AFFINITY nicht anpasst, weiß ich nicht.
. - Es bringt letztlich auch kaum etwas in Richtung schnelleres Programm. Meine Benchmark-Version läuft aber ohne zusätzliche Nutzereingaben durch. Der Parameter Realtime stellt dabei sicher, dass Stockfish alle benötigten Ressourcen (fast) exklusiv bekommt - insbesondere die angeforderten Prozessorressourcen.
Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill