[issue12807] Optimizations for {bytearray,bytes,unicode}.strip()

John O'Connor report at bugs.python.org
Thu Aug 25 00:57:40 CEST 2011


John O'Connor <tehjcon at gmail.com> added the comment:

Antoine Pitrou <pitrou at free.fr> added the comment:

> This looks like a dubious micro-optimization. If len == 0,
> all loops will exit early anyway (same for similar snippets in bytesobject.c and unicodeobject.c).

You are right about those lines in particular; 'dubious' as you say. 
Though, the point overall was that the general implementation was noticeably
faster (regardless of those smaller changes). 

However, I do think that the single check for len == 0 saves time particularly
from do_xstrip where we call _getbuffer().


> bytearray objects are mutable, so you can't return the same object without breaking expected semantics. e.g.:

I see. I must have been trigger happy.


> diff -r b5ccdf7c032a Python/bltinmodule.c
> Binary file Python/bltinmodule.c has changed

> Uh, what's this? bltinmodule.c shouldn't be considered a binary file.
> It probably means you added a NUL byte in it by mistake.

I didn't touch that file at all. I'm not sure what that is. :-P

> You could put it in Objects/stringlib.

I figured. I will when I am able to get to it.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue12807>
_______________________________________


More information about the Python-bugs-list mailing list