The former block size traded away good fit within cache lines in
order to gain faster division in deque_item(). However, compilers
are getting smarter and can now replace the slow division operation
with a fast integer multiply and right shift. Accordingly, it makes
sense to go back to a size that lets blocks neatly fill entire
cache-lines.
GCC-4.8 and CLANG 4.0 both compute "x // 62" with something
roughly equivalent to "x * 9520900167075897609 >> 69".
Terry Jan Reedy [Sun, 28 Jul 2013 02:27:25 +0000 (22:27 -0400)]
Issue #18441: Comment out code that will not compile because the standard
library has a package, lib-tk, that cannot be imported by normal means.
Lib/test/test_tk, etc, have special code to access this package. I will not
bother with it unless the darwin check is needed before it gets moved to
test.(test-)support.py.
Terry Jan Reedy [Mon, 22 Jul 2013 00:13:24 +0000 (20:13 -0400)]
Issue #18441: Make test.support.requires('gui') skip when it should.
(Consolidating this check and various checks in tkinter files and moving them
to test.support and test.regrtest will be another issue.)
Terry Jan Reedy [Mon, 22 Jul 2013 00:13:24 +0000 (20:13 -0400)]
Issue #18441: Make test.support.requires('gui') skip when it should.
(Consolidating this check and various checks in tkinter files and moving them
to test.support and test.regrtest will be another issue.)
Move the leftlink to the end of the block structure.
The current pattern of memory access will update both the leftlink and
rightlink at the same time, so they should be positioned side-by-side
for better cache locality.
Keeping the leftlink at the front of the structure would make sense
only if the paired updates were eliminated by backporting changesets 49a9c734304d, 3555cc0ca35b, ae9ee46bd471, and 744dd749e25b. However,
that isn't likely to happen, so we're better off with the leftlink at
the end of the structure.
Terry Jan Reedy [Sat, 13 Jul 2013 06:34:35 +0000 (02:34 -0400)]
Issue #18279: Add tests for idlelib/RstripExtension.py. Original patch by
Phil Webster. With that available, modify RstripExtension.py to stop deleting
null slices, which caused a file to be marked as changed when it was not.
Terry Jan Reedy [Sun, 30 Jun 2013 20:51:53 +0000 (16:51 -0400)]
Issue 18189: remove unused methods in idlelib.Delegator.Delegator.
Idle code already uses x.delegate instead of x.getdelegate().
The printed report must have been for testing.
Terry Jan Reedy [Sun, 30 Jun 2013 17:57:57 +0000 (13:57 -0400)]
Tempfile.py: stop buildbot warning about using deprecated xreadlines.
The slightly odd behavior (the validity of passing a sizehint depends on the
type of self._file) was kept to avoid breaking code that depends on it.
Test_tempfile.test_xreadlines passes (along with everything else).
Terry Jan Reedy [Sat, 29 Jun 2013 03:51:34 +0000 (23:51 -0400)]
Issue *18081, #18242: Change Idle warnings capture in PyShell and run to stop
replacing warnings.formatwarnings and to reverse replacement of
warnings.showwarnings when import is complete and when main function exits.
Add test_warning.py. Vinay Sajip provided capture_warnings function.
Terry Jan Reedy [Fri, 28 Jun 2013 22:59:19 +0000 (18:59 -0400)]
Issue #18315: Improve fileinput docs by adding 'bufsize' where missing and
replacing redundant signature in input() docstring with one-line summary.
Original patch by Terrel Shumway.
Victor Stinner [Mon, 24 Jun 2013 22:48:02 +0000 (00:48 +0200)]
Issue #18135: ssl.SSLSocket.write() now raises an OverflowError if the input
string in longer than 2 gigabytes. The ssl module does not support partial
write.
Terry Jan Reedy [Sat, 22 Jun 2013 22:26:38 +0000 (18:26 -0400)]
#18151, part 2: Silence debug build resource warning for each file opened by
'Find in files' by replacing 'open with implicit close' by 'with open' in
GrepDialog method grep_it. Streamline code with enumerate(), direct file
iteration, and output tweak. Add test for this method, including output format.
The exceptions are the import related questions at the end, which
need to be rewritten anyway, and a math example that doesn't
exist in the 3.3+ docs that I didn't bother trying to fix.