
Eines meiner Probleme war, dass die Kampfberechnung ziemlich rechenintensiv war. Nachdem ich die Kampfberechnung (vor einiger Zeit) aus Neugierde mal komplett analog in C++ implementiert habe, habe ich gemerkt, dass das ganze so extreeeem flott läuft


Derzeit überlege ich, wie ich diesen separaten Thread (mittels C++ "innerhalb" der Python-Anwendung) "heutzutage" umsetzen würde. Dabei sehe ich folgende Möglichkeiten:
- C++ einbetten (z.B. via SWIG): Ich baue mir einen Wrapper um die in C++ geschriebene Kampfberechnung. Dabei würde ich die Datenbank via Python ansprechen (Abfragen der bisherigen Spielerdaten, Speichern der modifizierten Spielerdaten).
- C++ als separaten Prozess (als eigenständige Anwendung auf dem Server) laufen lassen: Da ich als Datenbank inzwischen redis ins Herz geschlossen habe (und das eine tolle Publish-Subscribe-Funktionalität) zur Verfügung stellt, würde ich via Python die Kampfberechnung nur noch "auslösen", d.h. in die Datenbank schreiben, dass Kampf XY nun berechnet werden soll. Der separate C++ Prozess würde dann von der Datenbank über das "Auslösen" benachrichtigt werden, kann die Daten abfragen, alles berechnen und die Ergebnisse zurückschreiben.

Welche Vor- bzw. Nachteile seht ihr für die genannten Varianten? Oder habt ihr noch eine Variante C (oder sogar D ^^) im Kopf?
LG Glocke