Warum ist der neueste Stockfisch (2.2.2) in Scid unendlich langsamer (als 2.1.1)?

7

Ich wollte gerade etwas Zeit damit verbringen, dies zu untersuchen, stellte jedoch fest, dass sich möglicherweise bereits jemand damit befasst hatte. Wenn nicht, kann ich in wenigen Stunden meine eigene Frage beantworten.

Scid fixiert einen Kern der CPU und versucht möglicherweise, mit den Eingaben von Stockfish Schritt zu halten? Stockfish verwendet 0% CPU und blockiert möglicherweise, während die Ausgabe an Scid weitergeleitet wird. Ich vermute, dass genau das passiert - habe es nicht bestätigt. In jedem Fall dauert es ein oder zwei Minuten, bis Stockfisch in der Analyse 2 Tiefen erreicht hat - normalerweise bin ich nach ein paar Sekunden mindestens 15 Tiefen, also ist er um Größenordnungen langsamer.

Ich habe keine meiner UCI-Einstellungen geändert, sondern nur die ausführbare Datei aktualisiert. Dasselbe passiert auf Mac und Windows, also ist es wahrscheinlich nicht plattformspezifisch, sondern etwas, das mit der UCI-Oberfläche zusammenhängt?

Ich habe die Hash-Größe auf 1024 MB eingestellt, "Sleeping Threads verwenden" = true und mehrere Variationen ziemlich hoch eingestellt (100 oder so), um alle bewerteten und durchsuchten Variationen anzuzeigen, was bei der Analyse hilfreich ist, obwohl dies die Tiefensuche verlangsamt. Die restlichen Einstellungen sind Standardeinstellungen (ich bin mir ziemlich sicher).

Eve Freeman
quelle
Update: Ich glaube nicht, dass dies mit Scid zusammenhängt, da ich es in einer anderen UCI-GUI getestet habe und es noch langsamer läuft.
Eve Freeman
Vielleicht verwandt, vielleicht nicht: support.stockfishchess.com/discussions/questions/…
ETD
Ja, das habe ich gesehen. Ich glaube nicht, dass das der Größenordnungsunterschied ist, den ich sehe. Irgendwas stimmt nicht. Ich habe den Benchmark für beide durchgeführt, und die Ergebnisse scheinen vergleichbar zu sein. Ich bin mir nicht sicher, warum die UCI-Schnittstelle so langsam ist.
Eve Freeman
Ja, ich dachte, Sie wären wahrscheinlich schon darauf gestoßen.
ETD

Antworten:

5

Also habe ich dies in einem Support-Thread im Stockfish-Forum herausgearbeitet .

Grundsätzlich sollten Sie 2.2.2 überspringen und das Neueste aus Github kompilieren (oder einfach weiterhin 2.1.1 verwenden). Ich denke, ich werde diesen neuen Code für eine Weile ausprobieren, um zu sehen, wie er funktioniert. Der neueste Code von github funktioniert hervorragend im UCI-Connector von chesstempo. In Scid ist es immer noch etwas langsam (und Scid verhält sich so, als ob es hängen bleibt und nicht auf UI-Befehle reagiert), aber es beschleunigt sich, wenn die Suche tiefer geht, sodass es nach etwa 30 Sekunden erträglich ist. Ich hatte jedoch Probleme, Multipv (mehrere Variationen) mit hohen Zahlen zum Laufen zu bringen.

Ich denke, Scid sollte die Eingabe von der UCI-Schnittstelle nicht blockieren - bei Bedarf mehr puffern. Vielleicht schaue ich mir später den Scid-Code an, um zu sehen, ob ich ihn verbessern kann.

Eve Freeman
quelle
Ich kann nicht glauben, dass sie tatsächlich etwas Schlimmeres veröffentlicht haben. Es dauert weniger als 10 Stunden, um eine Version mit einem durchschnittlichen Computer vollständig gegen die andere zu testen
ajax333221
Es ist nicht wirklich schlechter in Bezug auf die Leistung. Es ist nur die Menge an Ausgabe, die es herausdrückt, was dazu führt, dass es in einigen GUIs langsam wirkt, insbesondere bei einer hohen Multipv-Einstellung.
Eve Freeman