Skip to content

Commit dc8557f

Browse files
committed
Move random benchmark into pyperformance
1 parent 48cca72 commit dc8557f

File tree

2 files changed

+2
-48
lines changed

2 files changed

+2
-48
lines changed

Lib/random.py

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -948,47 +948,6 @@ def _notimplemented(self, *args, **kwds):
948948
randbytes = _inst.randbytes
949949

950950

951-
## ------------------------------------------------------
952-
## ----------------- test program -----------------------
953-
954-
def _test_generator(n, func, args):
955-
from statistics import stdev, fmean as mean
956-
from time import perf_counter
957-
958-
t0 = perf_counter()
959-
data = [func(*args) for i in _repeat(None, n)]
960-
t1 = perf_counter()
961-
962-
xbar = mean(data)
963-
sigma = stdev(data, xbar)
964-
low = min(data)
965-
high = max(data)
966-
967-
print(f'{t1 - t0:.3f} sec, {n} times {func.__name__}{args!r}')
968-
print('avg %g, stddev %g, min %g, max %g\n' % (xbar, sigma, low, high))
969-
970-
971-
def _test(N=10_000):
972-
_test_generator(N, random, ())
973-
_test_generator(N, normalvariate, (0.0, 1.0))
974-
_test_generator(N, lognormvariate, (0.0, 1.0))
975-
_test_generator(N, vonmisesvariate, (0.0, 1.0))
976-
_test_generator(N, binomialvariate, (15, 0.60))
977-
_test_generator(N, binomialvariate, (100, 0.75))
978-
_test_generator(N, gammavariate, (0.01, 1.0))
979-
_test_generator(N, gammavariate, (0.1, 1.0))
980-
_test_generator(N, gammavariate, (0.1, 2.0))
981-
_test_generator(N, gammavariate, (0.5, 1.0))
982-
_test_generator(N, gammavariate, (0.9, 1.0))
983-
_test_generator(N, gammavariate, (1.0, 1.0))
984-
_test_generator(N, gammavariate, (2.0, 1.0))
985-
_test_generator(N, gammavariate, (20.0, 1.0))
986-
_test_generator(N, gammavariate, (200.0, 1.0))
987-
_test_generator(N, gauss, (0.0, 1.0))
988-
_test_generator(N, betavariate, (3.0, 3.0))
989-
_test_generator(N, triangular, (0.0, 1.0, 1.0 / 3.0))
990-
991-
992951
## ------------------------------------------------------
993952
## ------------------ fork support ---------------------
994953

@@ -1014,9 +973,6 @@ def _parse_args(arg_list: list[str] | None):
1014973
group.add_argument(
1015974
"-f", "--float", type=float, metavar="N",
1016975
help="print a random floating-point number between 0 and N inclusive")
1017-
group.add_argument(
1018-
"--test", type=int, const=10_000, nargs="?",
1019-
help=argparse.SUPPRESS)
1020976
parser.add_argument("input", nargs="*",
1021977
help="""\
1022978
if no options given, output depends on the input
@@ -1040,10 +996,6 @@ def main(arg_list: list[str] | None = None) -> int | str:
1040996
if args.float is not None:
1041997
return uniform(0, args.float)
1042998

1043-
if args.test:
1044-
_test(args.test)
1045-
return ""
1046-
1047999
# No explicit argument, select based on input
10481000
if len(args.input) == 1:
10491001
val = args.input[0]
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
An undocumented ``python -m random --test`` benchmark is moved into
2+
``random`` suite of pyperformance. Patch by Semyon Moroz.

0 commit comments

Comments
 (0)