天天看點

思考(八十二):C++ Go 程式性能對比

背景

最近,對 go 版本

戰鬥 API 服

,做了性能優化。使用 C++ 重寫了

戰鬥 API 服

戰鬥 API 服

邏輯功能很簡單:

  • 有 gRPC 服務
  • Cgo 調用用戶端提供的 .a 戰鬥庫

而用 C++ 重寫的理由,大緻有以下幾個方面考量:

  • Cgo 調用,比純 C++ 調用會有消耗
  • 根據服務特點,每次 Cgo 調用涉及了較多的 go cgo 間的記憶體拷貝
  • C++ 可以嚴格控制線程切換,減少線程間切換消耗

測試結構對比

C++ 版本:

思考(八十二):C++ Go 程式性能對比

Go 版本:

思考(八十二):C++ Go 程式性能對比

繼續閱讀