背景
最近,對 go 版本
戰鬥 API 服
,做了性能優化。使用 C++ 重寫了
戰鬥 API 服
戰鬥 API 服
邏輯功能很簡單:
- 有 gRPC 服務
- Cgo 調用用戶端提供的 .a 戰鬥庫
而用 C++ 重寫的理由,大緻有以下幾個方面考量:
- Cgo 調用,比純 C++ 調用會有消耗
- 根據服務特點,每次 Cgo 調用涉及了較多的 go cgo 間的記憶體拷貝
- C++ 可以嚴格控制線程切換,減少線程間切換消耗
測試結構對比
C++ 版本:
Go 版本:
分