
Zitat von
Solwac
Diese Zahl halte ich für sehr gewagt.
Als Hausnummer kommt es hin, wenn man nicht gerade sehr spezielle Beispiele konstruiert. Zumal heutige C-Compiler schon ziemlich gut sind. Auf keinen Fall ist es so, daß man beim Umstieg von 68k-Assembler auf ARM-Compiler dermaßen Geschwindigkeit verliert, daß ein Cortex-M4 lahm wird im Vergleich zu einem 68k mit damaligen Taktraten.
Selbst wenn man mit Assembler-Optimierung noch etwas mehr Geschwindigkeit rausholen kann, aber dann wird das Programm letztlich unwartbar. Man braucht dann immer länger, um algorithmische und schachliche Verbesserungen einzubauen, und das ist wichtiger als 10% mehr Geschwindigkeit.
Ganz konkret hatte ich auch gelegentlich das Problem, im Mittelspiel bei 30 Min / Partie gelegentlich nur 4-5 Halbzüge Tiefe zu sehen. Des Rätsels Lösung war nicht der Compiler, sondern die Vertiefungen bei Schachgeboten. Erster Zug gibt Schach? Ooops, gleich mal den Suchbaum verdoppelt. Natürlich ist das langsam. Die Lösung für mich war, Schach-Vertiefungen nur auf den letzten 4 Halbzügen im Suchbaum zuzulassen.
Wenn das Programm auf einer so potenten Hardware wie einem Cortex-M4 so gar nicht auf Tiefe kommt, dann liegt das nicht an C, sondern daran, daß entweder die Baumbeschneidung nicht so gut klappt oder daß massiv Vertiefungen in den Wald gerechnet werden.