LENGTHS = ('10', '100', '10**3', '10**5') def run_benchmark(bench): bench.start_group('use smaller buffer') bench.timeit(stmt='b"hello %s" % b"world"') bench.timeit(stmt='b"hello %-100s" % b"world"') bench.timeit(stmt='b"x=%d" % 123') bench.timeit(stmt='b"x=%f" % 1.2') bench.timeit(stmt='b"x=%100d" % 123') bench.start_group('"hello %s" % long_string') for length in LENGTHS: bench.timeit(setup='fmt = b"hello %%s"; arg = b"x" * %s' % length, stmt='fmt % arg') bench.start_group('b"xxxxxx %s" % b"y"') for length in LENGTHS: bench.timeit(setup='fmt = b"x" * %s + b"%%s"' % length, stmt='fmt % b"y"') bench.start_group('%f') bench.timeit(setup='n = 200; fmt = b"%f" * n; arg = tuple([1.2]*n)', stmt='fmt % arg') bench.start_group('%i') bench.timeit(setup='n = 200; fmt = b"%f" * n; arg = tuple([12345]*n)', stmt='fmt % arg')