The script now takes an optional command-line argument to specify how many

loops to run (default remains 50,000 if no argument is specified).
This commit is contained in:
Alex Martelli 2004-01-02 17:11:54 +00:00
parent 6e4f7a82da
commit b993b067d2
1 changed files with 19 additions and 4 deletions

View File

@ -57,10 +57,10 @@ class Record:
TRUE = 1
FALSE = 0
def main():
benchtime, stones = pystones()
def main(loops=LOOPS):
benchtime, stones = pystones(loops)
print "Pystone(%s) time for %d passes = %g" % \
(__version__, LOOPS, benchtime)
(__version__, loops, benchtime)
print "This machine benchmarks at %g pystones/second" % stones
@ -249,4 +249,19 @@ def Func3(EnumParIn):
return FALSE
if __name__ == '__main__':
main()
import sys
def error(msg):
print >>sys.stderr, msg,
print >>sys.stderr, "usage: %s [number_of_loops]" % sys.argv[0]
sys.exit(100)
nargs = len(sys.argv) - 1
if nargs > 1:
error("%d arguments are too many;" % nargs)
elif nargs == 1:
try: loops = int(sys.argv[1])
except ValueError:
error("Invalid argument %r;" % sys.argv[1])
else:
loops = LOOPS
main(loops)