我有2個代碼庫,一個在python中,一個在C++中。我想在他們之間分享實時數據。我想評價哪些選項最適合我的具體使用情況:在Python代碼和C++代碼之間共享信息(IPC)
- 許多小數據從C++程序的Python程序
- 更新他們在同一臺機器上都運行
- 可靠性是非常重要的
- 低延遲是好的,有
我可以看到幾個選項:
- 一個進程寫入一個平面文件,另一個進程讀取它。它不可擴展,速度慢,I/O容易出錯。
- 一個進程寫入數據庫,另一個進程讀取它。這使得它更具可擴展性,稍微不易出錯,但仍然非常慢。
- 將我的Python程序嵌入到C++中或其他方式。我拒絕了這個解決方案,因爲兩個代碼庫都相當複雜,爲了維護性的原因,我最好讓它們保持分離。
- 我在兩個程序中都使用了一些套接字,並直接發送消息。這似乎是一種合理的方法,但並沒有利用它們在同一臺機器上的事實(它將通過使用本地主機作爲目的地而略微優化,但仍然感到麻煩)。
- 使用共享內存。到目前爲止,我認爲這是我找到的最令人滿意的解決方案,但缺點是實施稍微複雜一些。
還有沒有其他的解決方案,我應該考慮?
直接使用C++/Python中的Python/C++代碼? –
RESTful API應該對你最有幫助,完美的獨立語言api – AlokThakur
@Revolver_Ocelot,我擁有2個代碼庫,所以是的,我可以直接在每個代碼中使用代碼。 – DevShark