Terry J. Reedy <[EMAIL PROTECTED]> added the comment: How much does the optimization speed up (or slow down?) a more normal case when it is applicable? bl = [b'', b'a']
How much does the optimization slow down the normal case where it is not applied? bl = [b'a']*2 bl = [b'a']*10000 Could not the .join user simply not add empty list items? Looking at the code, there appear to be 4 extra operations for every item in the normal case: assign item_size, test item_size, assign nonempty, increment nb_nonempty. I believe this alternative might be generally faster. Before the normal scan, if seplen == 0: for item in seq: <if second non-null item>: break else: <do shortcut and return> <do normal process> Then normal cases will bail out on the second item and continue without further impact. ---------- nosy: +tjreedy _______________________________________ Python tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue3459> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com