对性能没有影响,但使用2的幂次倍作为分配大小是一个好的编程习惯。
为什么呢?因为2的幂次倍分配能够避免内存空洞。
简单的说:内存池机制通过将所分配的内存提升到2的幂次倍来避免内存空洞。
如果你的内存分配器有内存池机制,那么即使你分配了小于2的幂次倍的内存空间,实际占用的内存空间也还是2的幂次倍(比如分配1000字节实际占用1024字节空间)。这种情况下,用不用2的幂次倍不改变性能,但这样用更加划算。
如果你的内存分配器没有内存池机制,那么手工使用2的幂次倍能够有效减少内存空洞,提升内存使用效率。
所以,总的来说,使用2的幂次倍进行内存分配,在各种场合下,都只有好处没有坏处,是好的编程习惯。