有谁知道 Boost::pool::free() 的正确 Big O 性能?我正在编写一些性能 C++ 关键代码,它有很大的不同吗?以下来自 Boost 文档,但有点令人困惑。是 O(1) 还是 O(n)?
无效免费(无效*常量块);与 malloc 相同,仅分配足够的连续块来覆盖 n * requested_size 个字节。摊销 O(n)。
释放一块内存。请注意,块可能不是 0. O(1)。
块必须先前已由 t.malloc() 或 t.ordered_malloc() 返回。假设块实际上是指跨越 n * partition_sz 字节的块块。释放该块中的每个块。请注意,块可能不是 0. O(n)。