diff options
-rwxr-xr-x | Lib/test/pystone.py | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/Lib/test/pystone.py b/Lib/test/pystone.py index 931a307..168c399 100755 --- a/Lib/test/pystone.py +++ b/Lib/test/pystone.py @@ -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) + |