Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b993b06

Browse files
committed
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).
1 parent 6e4f7a8 commit b993b06

1 file changed

Lines changed: 19 additions & 4 deletions

File tree

Lib/test/pystone.py

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,10 @@ def copy(self):
5757
TRUE = 1
5858
FALSE = 0
5959

60-
def main():
61-
benchtime, stones = pystones()
60+
def main(loops=LOOPS):
61+
benchtime, stones = pystones(loops)
6262
print "Pystone(%s) time for %d passes = %g" % \
63-
(__version__, LOOPS, benchtime)
63+
(__version__, loops, benchtime)
6464
print "This machine benchmarks at %g pystones/second" % stones
6565

6666

@@ -249,4 +249,19 @@ def Func3(EnumParIn):
249249
return FALSE
250250

251251
if __name__ == '__main__':
252-
main()
252+
import sys
253+
def error(msg):
254+
print >>sys.stderr, msg,
255+
print >>sys.stderr, "usage: %s [number_of_loops]" % sys.argv[0]
256+
sys.exit(100)
257+
nargs = len(sys.argv) - 1
258+
if nargs > 1:
259+
error("%d arguments are too many;" % nargs)
260+
elif nargs == 1:
261+
try: loops = int(sys.argv[1])
262+
except ValueError:
263+
error("Invalid argument %r;" % sys.argv[1])
264+
else:
265+
loops = LOOPS
266+
main(loops)
267+

0 commit comments

Comments
 (0)