过度使用智能指针会导致系统内核调用增加吗?

Can an excessive use of smart pointers lead to an increase in system kernel calls?

提问人:Khashayar 提问时间:11/3/2023 更新时间:11/3/2023 访问量:117

问:

过度使用智能指针(尤其是 )会导致内核调用增加吗?shared_ptr

我正在尝试优化和简化实时 (QNX) 代码库。除了内存和实时效率之外,还有一个重点是减少系统内核调用。我已经通读这个和这个,所以我有一个基本的理解,即过度使用 ' 作为按值调用,可能会导致一些运行时性能问题。我还好奇的是,这种类型的实现是否也会增加内核调用。shared_ptr

请记住,该函数是循环中调用的众多函数之一,并且它本身以类似的方式调用许多其他函数(如)。processSendDefault

// getting called in every cycle (some milliseconds)
void signal::processSend(
    std::shared_ptr<const structA> readPtrA,
    std::shared_ptr<const structB> readPtrB,
    std::shared_ptr<const structC> readPtrC) {
        last_send_data = this->Default(readPtrA, readPtrB, readPtrC);
}

void signal::Default(
    std::shared_ptr<const structA> readPtrA,
    std::shared_ptr<const structB> readPtrB,
    std::shared_ptr<const structC> readPtrC) {
              // some value readings
}
C++ 实时 智能指针 按值传递 QNX

评论


答: 暂无答案