|
|
| Welcome to the Monastery | |
| PerlMonks |
Re: Are beheaded strings known to be slow?by ikegami (Patriarch) |
| on Oct 09, 2025 at 18:16 UTC ( [id://11166453]=note: print w/replies, xml ) | Need Help?? |
|
Weird. There shouldn't be any performance penalty to reading an OOK ("beheaded") scalar. Rather than adding an offset each time the string it accessed, the pointer to the string is changed to point beyond the "head" when the string is "beheaded".
Before the beheading, the string started at 0x59d752a6b2e0 and used 7 bytes of 16. After the beheading, the string started at 0x59d752a6b2e1 and used 6 bytes of 15. In both cases, the same memory block starting at 0x59d752a6b2e0 is used. But because the PV, CUR and LEN fields were adjusted, reading from the scalar is identical whether it's an OOK ("beheaded") scalar or not.
In Section
Seekers of Perl Wisdom
|
|
||||||||||||||||||||||||||||||