[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.