- 18 Tem, 2002 3 kayıt (commit)
-
-
Tim Peters yazdı
the default range to end at 2**20 (machines are much faster now). Fixed what was quite a arguably a bug, explaining an old mystery: the "!sort" case here contructs what *was* a quadratic-time disaster for the old quicksort implementation. But under the current samplesort, it always ran much faster than *sort (the random case). This never made sense. Turns out it was because !sort was sorting an integer array, while all the other cases sort floats; and comparing ints goes much quicker than comparing floats in Python. After changing !sort to chew on floats instead, it's now slower than the random sort case, which makes more sense (but is just a few percent slower; samplesort is massively less sensitive to "bad patterns" than quicksort).
-
Tim Peters yazdı
file object that LogReader opens. Used it then in test_hotshot; the test passes again on Windows. Thank Guido for the analysis.
-
Guido van Rossum yazdı
codebase, so get rid of the pre-2.2 contingency.
-
- 17 Tem, 2002 22 kayıt (commit)
-
-
Tim Peters yazdı
and that I don't know how to fix it. Fred?
-
Barry Warsaw yazdı
contents of the next command.
-
Fred Drake yazdı
xmlparser object provided by pyexpat, new in Python 2.3.
-
Fred Drake yazdı
a docstring for the info attribute of the logreader object.
-
Fred Drake yazdı
write_header(): When we encounter a non-string object in sys.path, record a fairly mindless placeholder rather than dying. Possibly could record the repr of the object found, but not clear whether that matters.
-
Guido van Rossum yazdı
Dunbar) Can't test this, but looks correct to me.
-
Tim Peters yazdı
-
Fred Drake yazdı
Removed ^M from some line-ends.
-
Fred Drake yazdı
-
Jeremy Hylton yazdı
The staticforward define was needed to support certain broken C compilers (notably SCO ODT 3.0, perhaps early AIX as well) botched the static keyword when it was used with a forward declaration of a static initialized structure. Standard C allows the forward declaration with static, and we've decided to stop catering to broken C compilers. (In fact, we expect that the compilers are all fixed eight years later.) I'm leaving staticforward and statichere defined in object.h as static. This is only for backwards compatibility with C extensions that might still use it. XXX I haven't updated the documentation.
-
Guido van Rossum yazdı
assume tp_iter and later fields exist. Use PyObject_GenericGetAttr instead of providing our own tp_getattr hook.
-
Guido van Rossum yazdı
-
Jeremy Hylton yazdı
-
Jeremy Hylton yazdı
-
Tim Peters yazdı
-
Guido van Rossum yazdı
-
Fred Drake yazdı
This is already removed from Expat 1.95.4, so the problem will not recur when we update.
-
Guido van Rossum yazdı
isdigit().
-
Fred Drake yazdı
initial/default value.
-
Barry Warsaw yazdı
defined. /Really/ closes SF # 580631.
-
Tim Peters yazdı
-
Tim Peters yazdı
-
- 16 Tem, 2002 15 kayıt (commit)
-
-
Guido van Rossum yazdı
-
Jeremy Hylton yazdı
-
Tim Peters yazdı
-
Jeremy Hylton yazdı
The implementation now stores all the lines of the request in a buffer and makes a single send() call when the request is finished, specifically when endheaders() is called. This appears to improve performance. The old code called send() for each line. The sends are all short, so they caused bad interactions with the Nagle algorithm and delayed acknowledgements. In simple tests, the second packet was delayed by 100s of ms. The second send was delayed by the Nagle algorithm, waiting for the ack. The delayed ack strategy delays the ack in hopes of piggybacking it on a data packet, but the server won't send any data until it receives the complete request. This change minimizes the problem that Nagle + delayed ack will cause a problem, although a request large enough to be broken into two packets will still suffer some delay. Luckily the MSS is large enough to accomodate most single packets. XXX Bug fix candidate?
-
Guido van Rossum yazdı
PyType_Ready() because the tp_iternext slot is set (fortunately, because using the tp_iternext implementation for the the next() implementation is buggy). Also changed the allocation order in enum_next() so that the underlying iterator is only moved ahead when we have successfully allocated the result tuple and index.
-
Guido van Rossum yazdı
PyType_Ready() because the tp_iternext slot is set. Also removed the redundant (and expensive!) call to raise StopIteration from rangeiter_next().
-
Guido van Rossum yazdı
di_dict field when the end of the list is reached. Also make the error ("dictionary changed size during iteration") a sticky state. Also remove the next() method -- one is supplied automatically by PyType_Ready() because the tp_iternext slot is set. That's a good thing, because the implementation given here was buggy (it never raised StopIteration).
-
Guido van Rossum yazdı
object references (it_seq for seqiterobject, it_callable and it_sentinel for calliterobject) when the end of the list is reached. Also remove the next() methods -- one is supplied automatically by PyType_Ready() because the tp_iternext slot is set. That's a good thing, because the implementation given here was buggy (it never raised StopIteration).
-
Guido van Rossum yazdı
-
Guido van Rossum yazdı
it_seq field when the end of the list is reached. Also remove the next() method -- one is supplied automatically by PyType_Ready() because the tp_iternext slot is set. That's a good thing, because the implementation given here was buggy (it never raised StopIteration).
-
Guido van Rossum yazdı
discussion in python-dev with subject "Termination of two-arg iter()"). Implementation will follow.
-
Jeremy Hylton yazdı
Some persistent picklers (well, probably, the *only* persistent pickler) would like to pickle some classes in a special way.
-
Jeremy Hylton yazdı
If the object is an ExtensionClass, for example, the slot is not even defined. So we must check that the type has the slot (implied by HAVE_CLASS) before calling tp_init().
-
Tim Peters yazdı
existed at the time atexit first got imported. That's a bug, and this fixes it. Also reworked test_atexit.py to test for this too, and to stop using an "expected output" file, and to test what actually happens at exit instead of just simulating what it thinks atexit will do at exit. Bugfix candidate, but it's messy so I'll backport to 2.2 myself.
-
Barry Warsaw yazdı
but which is in a comment or string. Closes SF bug # 572341 reported by Adrian van den Dries.
-