Package test :: Module pystone
[hide private]
[frames] | no frames]

Module pystone

"PYSTONE" Benchmark Program

Version:        Python/1.1 (corresponds to C/1.1 plus 2 Pystone fixes)

Author:         Reinhold P. Weicker,  CACM Vol 27, No 10, 10/84 pg. 1013.

                Translated from ADA to C by Rick Richardson.
                Every method to preserve ADA-likeness has been used,
                at the expense of C-ness.

                Translated from C to Python by Guido van Rossum.

Version History:

                Version 1.1 corrects two bugs in version 1.0:

                First, it leaked memory: in Proc1(), NextRecord ends
                up having a pointer to itself.  I have corrected this
                by zapping NextRecord.PtrComp at the end of Proc1().

                Second, Proc3() used the operator != to compare a
                record to None.  This is rather inefficient and not
                true to the intention of the original benchmark (where
                a pointer comparison to None is intended; the !=
                operator attempts to find a method __cmp__ to do value
                comparison of the record).  Version 1.1 runs 5-10
                percent faster than version 1.0, so benchmark figures
                of different versions can't be compared directly.


Version: 1.1

Classes [hide private]
  Record
Functions [hide private]
 
main(loops=50000)
 
pystones(loops=50000)
 
Proc0(loops=50000)
 
Proc1(PtrParIn)
 
Proc2(IntParIO)
 
Proc3(PtrParOut)
 
Proc4()
 
Proc5()
 
Proc6(EnumParIn)
 
Proc7(IntParI1, IntParI2)
 
Proc8(Array1Par, Array2Par, IntParI1, IntParI2)
 
Func1(CharPar1, CharPar2)
 
Func2(StrParI1, StrParI2)
 
Func3(EnumParIn)
Variables [hide private]
  LOOPS = 50000
  Ident5 = 5
  Ident4 = 4
  Ident3 = 3
  Ident2 = 2
  Ident1 = 1
  TRUE = 1
  FALSE = 0
  IntGlob = 0
  BoolGlob = 0
  Char1Glob = '\x00'
  Char2Glob = '\x00'
  Array1Glob = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
  Array2Glob = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
  PtrGlb = None
  PtrGlbNext = None

Imports: clock


Variables Details [hide private]

Array1Glob

Value:
[0,
 0,
 0,
 0,
 0,
 0,
 0,
 0,
...

Array2Glob

Value:
[[0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
...