""" Microbenchmark for int << int Python operation. Run it with: ./python.orig benchmark.py script bench_long_lshift.py --file=orig ./python.patched benchmark.py script bench_long_lshift.py --file=calloc ./python.patched benchmark.py compare_to orig calloc Download benchmark.py from: https://bitbucket.org/haypo/misc/raw/tip/python/benchmark.py """ def run_benchmark(bench): for power in ('0', '1', '3', '5', '10', '15', '20', '25', '28'): bench.timeit('2 ** power', setup='power = %s' % power, name='2 ** %s' % power) for power in ('0', '1', '3', '5', '10', '15', '20', '25', '28'): bench.timeit('2 ** power', setup='power = 2 ** %s' % power, name='2 ** (2 ** %s)' % power) if __name__ == "__main__": import benchmark benchmark.main()