Skip to content

Commit 324593d

Browse files
committed
Fix time report in asyncio benchmark
1 parent 0ea2e6b commit 324593d

File tree

1 file changed

+28
-33
lines changed

1 file changed

+28
-33
lines changed

benchmark/async.py

Lines changed: 28 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
from scipy.stats import norm, tmean, tvar, tstd
1212
from numpy import array, median
13+
from numpy.ma import masked_equal
1314

1415
import aiohttp
1516

@@ -241,29 +242,6 @@ def run(test, count, concurrency, *, loop, verbose):
241242
return data
242243

243244

244-
ARGS = argparse.ArgumentParser(description="Run benchmark.")
245-
ARGS.add_argument(
246-
'-t', '--tries', action="store",
247-
nargs='?', type=int, default=30,
248-
help='count of tries (default: `%(default)s`)')
249-
ARGS.add_argument(
250-
'-n', '--count', action="store",
251-
nargs='?', type=int, default=10000,
252-
help='requests count (default: `%(default)s`)')
253-
ARGS.add_argument(
254-
'-c', '--concurrency', action="store",
255-
nargs='?', type=int, default=100,
256-
help='count of parallel requests (default: `%(default)s`)')
257-
ARGS.add_argument(
258-
'-p', '--plot-file-name', action="store",
259-
type=str, default=None,
260-
dest='plot_file_name',
261-
help='file name for plot (default: `%(default)s`)')
262-
ARGS.add_argument(
263-
'-v', '--verbose', action="count", default=0,
264-
help='verbosity level (default: `%(default)s`)')
265-
266-
267245
def main(argv):
268246
args = ARGS.parse_args()
269247

@@ -290,29 +268,46 @@ def main(argv):
290268

291269
for test_name in sorted(results):
292270

293-
data = results[test_name]
271+
data = array(results[test_name])
272+
trimmed = masked_equal(data, 0)
294273

295-
rps = count / array(data)
274+
rps = trimmed.size / trimmed
296275
rps_mean = tmean(rps)
297-
rps_var = tvar(rps)
298-
rps_median = median(rps)
299-
low, high = norm.interval(0.95, loc=rps_mean, scale=rps_var**0.5)
300-
times = array(data) * 1000000 / count
276+
times = trimmed * 1000000 / trimmed.size
301277
times_mean = tmean(times)
302278
times_stdev = tstd(times)
303279
times_median = median(times)
304280
print('Results for', test_name)
305-
print('RPS: {:d}: [{:d}, {:d}] median {:d},\tmean: {:.3f} μs,'
281+
print('RPS: {:d},\tmean: {:.3f} μs,'
306282
'\tstandard deviation {:.3f} μs\tmedian {:.3f} μs'
307283
.format(int(rps_mean),
308-
int(low),
309-
int(high),
310-
int(rps_median),
311284
times_mean,
312285
times_stdev,
313286
times_median))
314287
return 0
315288

289+
ARGS = argparse.ArgumentParser(description="Run benchmark.")
290+
ARGS.add_argument(
291+
'-t', '--tries', action="store",
292+
nargs='?', type=int, default=5,
293+
help='count of tries (default: `%(default)s`)')
294+
ARGS.add_argument(
295+
'-n', '--count', action="store",
296+
nargs='?', type=int, default=10000,
297+
help='requests count (default: `%(default)s`)')
298+
ARGS.add_argument(
299+
'-c', '--concurrency', action="store",
300+
nargs='?', type=int, default=500,
301+
help='count of parallel requests (default: `%(default)s`)')
302+
ARGS.add_argument(
303+
'-p', '--plot-file-name', action="store",
304+
type=str, default=None,
305+
dest='plot_file_name',
306+
help='file name for plot (default: `%(default)s`)')
307+
ARGS.add_argument(
308+
'-v', '--verbose', action="count", default=0,
309+
help='verbosity level (default: `%(default)s`)')
310+
316311

317312
if __name__ == '__main__':
318313
set_start_method('spawn')

0 commit comments

Comments
 (0)