- 04 Agu, 2002 4 kayıt (commit)
-
-
Andrew MacIntyre yazdı
Change the parser and compiler to use PyMalloc. Only the files implementing processes that will request memory allocations small enough for PyMalloc to be a win have been changed, which are:- - Python/compile.c - Parser/acceler.c - Parser/node.c - Parser/parsetok.c This augments the aggressive overallocation strategy implemented by Tim Peters in PyNode_AddChild() [Parser/node.c], in reducing the impact of platform malloc()/realloc()/free() corner case behaviour. Such corner cases are known to be triggered by test_longexp and test_import. Jeremy Hylton, in accepting this patch, recommended this as a bugfix candidate for 2.2. While the changes to Python/compile.c and Parser/node.c backport easily (and could go in), the changes to Parser/acceler.c and Parser/parsetok.c require other not insignificant changes as a result of the differences in the memory APIs between 2.3 and 2.2, which I'm not in a position to work through at the moment. This is a pity, as the Parser/parsetok.c changes are the most important after the Parser/node.c changes, due to the size of the memory requests involved and their frequency.
-
Andrew MacIntyre yazdı
- implement viable library search routine for EMX
-
Andrew MacIntyre yazdı
-
Andrew M. Kuchling yazdı
-
- 03 Agu, 2002 13 kayıt (commit)
-
-
Martin v. Löwis yazdı
Fixes #589429.
-
Jack Jansen yazdı
-
Tim Peters yazdı
elements.
-
Tim Peters yazdı
-
Tim Peters yazdı
-
Michael W. Hudson yazdı
-
Michael W. Hudson yazdı
[ 589427 ] standard include paths on command line _ssl still got /usr/include on the command line.
-
Piers Lauder yazdı
-
Tim Peters yazdı
currently-smallest value, and add item, in one gulp. See the second N-Best algorithm in the test suite for a natural use.
-
Tim Peters yazdı
substantially fewer array-element compares. This is best practice as of Kntuh Volume 3 Ed 2, and the code is actually simpler this way (although the key idea may be counter-intuitive at first glance! breaking out of a loop early loses when it costs more to try to get out early than getting out early saves). Also added a comment block explaining the difference and giving some real counts; demonstrating that heapify() is more efficient than repeated heappush(); and emphasizing the obvious point thatlist.sort() is more efficient if what you really want to do is sort.
-
Tim Peters yazdı
The PyArg_ParseTuple() error string still said "msort". Changed to "sort".
-
Tim Peters yazdı
-
Tim Peters yazdı
in the test file. I have docs for heapq.heapify ready to check in, but Jack appears to have left behind a stale lock in the Doc/lib directory.
-
- 02 Agu, 2002 23 kayıt (commit)
-
-
Jack Jansen yazdı
-
Jack Jansen yazdı
-
Guido van Rossum yazdı
-
Tim Peters yazdı
Added new heapify() function, which transforms an arbitrary list into a heap in linear time; that's a fundamental tool for using heaps in real life <wink>. Added heapyify() test. Added a "less naive" N-best algorithm to the test suite, and noted that this could actually go much faster (building on heapify()) if we had max-heaps instead of min-heaps (the iterative method is appropriate when all the data isn't known in advance, but when it is known in advance the tradeoffs get murkier).
-
Jack Jansen yazdı
-
Jack Jansen yazdı
etc. Still not enough, probably, but better than what we had.
-
Jack Jansen yazdı
-
Jack Jansen yazdı
surprises later (the IDE won't work without waste).
-
Guido van Rossum yazdı
a c-cedilla in one of the docstrings.
-
Fred Drake yazdı
-
Tim Peters yazdı
-
Fred Drake yazdı
-
Tim Peters yazdı
-
Tim Peters yazdı
-
Tim Peters yazdı
don't use division at all.
-
Fred Drake yazdı
-
Guido van Rossum yazdı
week.
-
Fred Drake yazdı
-
Guido van Rossum yazdı
week.
-
Guido van Rossum yazdı
-
Skip Montanaro yazdı
-
Skip Montanaro yazdı
-
Skip Montanaro yazdı
functions. In this case, calling dbm.open("foo", "c") actually creates a file named "foo.db".
-