import perf import decimal from six.moves import xrange def bench(loops): Decimal = decimal.Decimal localcontext = decimal.localcontext range_it = xrange(loops) t0 = perf.perf_counter() for _ in range_it: with localcontext() as c: c.prec = 2 with localcontext() as x: x.prec = 4 Decimal(10) / 3 Decimal(10) / 3 dt = perf.perf_counter() - t0 return dt if __name__ == '__main__': runner = perf.Runner() runner.bench_time_func('decimal.localcontext', bench)