5 ms·
zero-terminated says nothing about allocation, so there's that.
by jstimpfle 4y ago
zero-terminated says nothing about allocation, so there's that.
- lifthrasiir 4y agoYou were talking about [space] efficiency for small strings, which is inherently related to the memory allocation scheme.
- jstimpfle 4y agoWhat? You can allocate zero-terminated strings in .rodata by typing "a string literal" in source code, for example. It's fair to say that there's no fragmentation or whatever and you don't have to think about deallocation either. Other popular approaches to allocate strings dynamically would generally group strings of similar lifetime or by size, amortizing possible overheads over many strings. If your favorite memory allocator requires a size field to support efficient deallocation, then by all means put that in the allocation record. But this is totally orthogonal to the format of a simple string representation.
- deleted 4y ago[deleted]