
Trotzdem wird man dabei was lernen, könnte ich mir vorstellen.
) immer identisch, und nur diese Identischen betrachte ich.



. Entscheidend dürfte aber sein, dass mit den zur Verfügung stehenden gcc-Versionen (mingw oder TDM) sehr schnelle Compilate erzeugt werden können.position.cpp auf.#defines sollten auch vor der Compilierung gesetzt/überprüft werden. Welche das sind, lässt sich dem makefile entnehmen (die zu setzenden Optionen fangen mit -D an und können am einfachsten unter Projekt-Optionen als Parameter des C++Compilers definiert werden - einfach als Liste eintragen).bench testen.Visual Studio 2010 möglicherweise die schnellere Exe.
(Deswegen gebührt JA großer Respekt, wenn man bedenkt, was der alles zum fehlerfreien Laufen gebracht hat!)Visual Studio 2010 möglicherweise die schnellere Exe.Also der Anfang getreu dem preußischen Programmier-Reglement geht so:
1. Hinsetzen
2. PC anschalten
3. ...
Ich überspringe jetzt einige dutzend Punkte und komme zu
42. DevCpp starten
43. Menü Datei->Neu->Projekt
43a. Tabulator Basic->Leeres Projekt (- zu dem Icon muss man abwärts scrollen)
45b. Projektsprache C++
45c. Projektnamen eingeben bspw. Meisterstock
46. DevCpp möchte die Projektdatei Meisterstock.dev abspeichern -> entsprechendes Verzeichnis angeben (am besten vorher eines anlegen und den Sourcecode da rein kopieren)
47. im Projektfenster links befindet sich jetzt das Projekt Meisterstock. Mit Doppelklick öffnen.
47a. Rechtsklick auf Datei Unbenanntx
47b. Im Kontextmenü Datei entfernen wählen.
48. Menü Werkzeuge->Editor
48a. Tabulator Code Vervollständigung
48b. Code-Vervollständigung einschalten ausschalten (sonst zickt die Oberfläche wegen position.cpp)
48c. Dialog verlassen mit Ok
49. Menü Projekt->Zum Projekt hinzufügen wählen
50. Im Sourcecodeverzeichnis alle Dateien mit den Endungen .cpp und .h auswählen (Tip: Nach Typ sortieren lassen)
51. F11 drücken oder Menü Ausführen->Kompilieren + Ausführen
Der Code sollte fehlerfrei kompiliert und das fertige Programm gestartet werden.
52. in das gestartete Meisterstock.exe bench eingeben und Werte merken und mit quit und 2x Enter schließen
Jetzt kommen wir zu den Optimierungen:
53. Menü Projekt->Projekt Optionen
53a. Tabulator Compiler->Tabulator Code-Erzeugung
53a1. Opionen Zeile 1 (-march) und 3 (-mx) nach Zielprozessor wählen; Zeile 2 ignorieren; Optimierungslevel High oder Highest wählen (highest enthält auch potentiell unsichere Optimierungen)
53a2. Ob man eine 32- oder 64-Bit exe erzeugt, wählt man mit Zeile 5
53b. Tabulator Compiler->Linker: Zeile 5 (-s) Yes setzen. Das macht die Exe klein.
Es gibt ein paar Steuerungsdefinitionen im Quellcode, mit denen man außerdem Optimierungen vornehmen kann.
54.Tabulator Parameter (in der oberen Tabulatorenreihe der Projektoptionen)
54a. In der Spalte C++-Compiler kann man folgende #defines vornehmen, die sonst im Quellcode erfolgen müssten
-DNDEBUG
-DUSE_POPCNT
-DIS_64BIT
-DUSE_BSFQ
-DUSE_PREFETCH
Die Erklärungen zu den Steuerungsvariablen sind in Datei makefile gegeben. Wichtig: Keine Leerzeichen. Will man einzelne #defines abwählen einfach anderen Namen geben. Aus -DIS_64BIT könnte -DxIS_64BIT werden. Aber keine Leerzeichen verwenden!
54b. Dialog mit Ok schließen.
55. F12 oder Menü Ausführen->Alles erneuern
56. F10 oder Menü Ausführen->Ausführen
57. in das gestartete Meisterstock.exe bench eingeben und Werte mit den gemerkten vom nicht optimierten Programm vergleichen. Mit quit und 2x Enter schließen.

position.cpp zum Absturz von DevCpp führt. Zum Kompilieren komme ich dann gar nicht mehr. x32 x64
GCC mit DevCpp-GUI 2824 1998
GCC mit make und makefile 2762 1967
Visual Studio C++ 2010 3776 2700
Der Referenzwert für die Nodes ist bei dem von mir verwendeten Quelltext der unveränderten Stockfish 4-Ur-Fassung: 4132374 Nodes. Mit diesem Wert wird erkennbar, ob die Exe das gleiche Ergebnis bringt wie die Entwicklerreferenz.) x32 x64
GCC mit DevCpp-GUI 2824 1998
GCC mit make und makefile 2762 1967
Visual Studio C++ 2010 3776 2700
benchmark.cpp beschrieben.
Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill