gpt4 book ai didi

c++ - 我可以只使用固定数组而不是内存池吗?

转载 作者:行者123 更新时间:2023-11-30 01:24:28 26 4
gpt4 key购买 nike

不是制作内存池系统,我不能在应用程序开始时为每个对象分配巨大的数组并使用它们,在极端情况下,某些对象确实需要比它的数组更多的实例,数组将只是大小增加了一倍或四倍,所以它永远不会再次达到最大大小。我需要的速度比内存更重要,所以我认为这是一个公平的权衡?

最佳答案

您所描述的与内存池之间的唯一区别是,通常,池分配器会在内存用完时分配一个新池,如果内存用完,您的分配器会重新分配整个数组。这将导致最坏情况下的运行时间大大增加,并且您需要一种方案来避免在重新分配时使指针和引用无效,这可能会降低整个程序的性能。

池分配器中最坏的情况是它用完空间并且必须分配一个新数组。在你的分配器中最坏的情况是,它用完了并且必须分配一个新的更大的数组并将所有旧对象复制到新数组。显然后者需要更多时间。

关于c++ - 我可以只使用固定数组而不是内存池吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13571811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com