c ++ Grpc :: CompletionQueue的构建速度约为14k?

时间:2019-02-25 06:43:26

标签: c++ grpc

在异步grpc中,我尝试为每个连接创建一个新的grpc :: completionqueue。 然后,我发现一个问题。cq的构建速度似乎并不快。

//It test with folly::benchmark
BENCHMARK(CompletionQueue){
    grpc::CompletionQueue cq;
}

BENCHMARK(folly_mpmcqueue){
    folly::MPMCQueue<int> cq;
}

BENCHMARK(std_queue){
    std::queue<int> cq;
}

结果是:

============================================================================
test.cpp                                        relative  time/iter  iters/s
============================================================================
CompletionQueue                                             63.99us   15.63K
folly_mpmcqueue                                             67.12ns   14.90M
std_queue                                                  220.97ns    4.53M
============================================================================

Cq似乎无法自由构建和销毁。 那么我应该重用它们而不是为每个连接创建一个新的连接吗?

1 个答案:

答案 0 :(得分:0)

是的,可以重用完成队列。它们没有绑定到单个连接或呼叫。

相关问题