[Python-checkins] python/dist/src/Lib/test sortperf.py,1.8,1.9
tim_one@users.sourceforge.net
tim_one@users.sourceforge.net
Fri, 19 Jul 2002 21:21:54 -0700
Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv22393/python/lib/test
Modified Files:
sortperf.py
Log Message:
Added new test "3sort". This is sorted data but with 3 random exchanges.
It's a little better than average for our sort.
Index: sortperf.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/sortperf.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** sortperf.py 18 Jul 2002 15:53:32 -0000 1.8
--- sortperf.py 20 Jul 2002 04:21:51 -0000 1.9
***************
*** 75,78 ****
--- 75,79 ----
\sort: descending data
/sort: ascending data
+ 3sort: ascending data but with 3 random exchanges
~sort: many duplicates
=sort: all equal
***************
*** 80,84 ****
"""
! cases = ("*sort", "\\sort", "/sort", "~sort", "=sort", "!sort")
fmt = ("%2s %7s" + " %6s"*len(cases))
print fmt % (("i", "2**i") + cases)
--- 81,85 ----
"""
! cases = ("*sort", "\\sort", "/sort", "3sort", "~sort", "=sort", "!sort")
fmt = ("%2s %7s" + " %6s"*len(cases))
print fmt % (("i", "2**i") + cases)
***************
*** 92,95 ****
--- 93,103 ----
doit(L) # \sort
doit(L) # /sort
+
+ # Do 3 random exchanges.
+ for dummy in range(3):
+ i1 = random.randrange(n)
+ i2 = random.randrange(n)
+ L[i1], L[i2] = L[i2], L[i1]
+ doit(L) # 3sort
# Arrange for lots of duplicates.