Ich habe 2 Codebasen, eine in Python, eine in C++. Ich möchte Echtzeitdaten zwischen ihnen teilen. Ich versuche, welche Option am besten für meine speziellen Anwendungsfall funktionieren zu bewerten:Teilen von Informationen zwischen einem Python-Code und C++ - Code (IPC)
- viele kleine Datenaktualisierungen aus dem C++ Programm in die Python-Programm
- sie laufen beide auf der gleichen Maschine
- Zuverlässigkeit ist wichtig,
- niedrige Latenz ist schön
ich ein paar Optionen sehen haben:
- Ein Prozess schreibt in eine flache Datei, der andere Prozess liest ihn. Es ist nicht skalierbar, langsam und I/O fehleranfällig.
- Ein Prozess schreibt in eine Datenbank, der andere Prozess liest ihn. Dies macht es skalierbarer, etwas weniger fehleranfällig, aber immer noch sehr langsam.
- Betten Sie mein Python-Programm in die C++ ein oder umgekehrt. Ich habe diese Lösung abgelehnt, weil beide Codebasen ziemlich komplex sind, und ich habe es aus Gründen der Wartungsfreundlichkeit bevorzugt, sie getrennt zu halten.
- Ich benutze einige Sockets in beiden Programmen und sende Nachrichten direkt. Dies scheint ein vernünftiger Ansatz zu sein, macht sich aber nicht die Tatsache zunutze, dass sie sich auf demselben Rechner befinden (er wird leicht optimiert, indem ein lokaler Host als Ziel verwendet wird, fühlt sich aber immer noch schwerfällig an).
- Verwenden Sie den gemeinsamen Speicher. Bisher denke ich, dass dies die befriedigendste Lösung ist, die ich gefunden habe, aber den Nachteil hat, dass sie etwas komplexer zu implementieren ist.
Gibt es andere Lösungen, die ich berücksichtigen sollte?
Direkte Verwendung von Python/C++ - Code aus C++/Python? –
RESTful API sollte Ihnen am meisten helfen, Eine perfekte Sprache unabhängig api – AlokThakur
@Revolver_Ocelot, ich besitze die 2 Code-Basen, also ja ich kann Code direkt in jedem verwenden. – DevShark