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