在C ++中std :: list的开销,解决方案是什么?

时间:2015-06-29 18:06:28

标签: stdlist

我有这样的代码:

uint16_t getNextAvailableTransactionID() throw (RMAPEngineException) {
    transactionIDMutex.lock();
    if (availableTransactionIDList.size() != 0) {
        unsigned int tid = *(availableTransactionIDList.begin());
        availableTransactionIDList.pop_front();
        transactionIDMutex.unlock();
        return tid;
    } else {
        transactionIDMutex.unlock();
        throw RMAPEngineException(RMAPEngineException::TooManyConcurrentTransactions);
    }
}

,availableTransactionIDList是C ++的std :: list

因为我将此功能用作从硬件读取数据的一部分。检查后,来自availableTransactionIDList的开销(我使用了clock_gettime()并在函数中设置时间戳来检查)。

只是想知道,有没有解决std :: list的开销问题?

0 个答案:

没有答案