import time    
def timeit(method):

    def timed(*args, **kw):
        ts = time.time()
        result = method(*args, **kw)
        te = time.time()

        print ('%r (%r, %r) %2.2f sec' % (method.__name__, args, kw, te-ts))
        return result

    return timed

def ceil(x, base):
	return x if x % base == 0 else (x // base + 1) * base
 
from functools import partial
ceil50 = partial(ceil, base=50)


def closest_mod_50(x):
	if x % 50 == 0:
		return x
	while True:
		x+=1
		if x % 50 == 0:
			return x

iterations = 1000000



@timeit
def bad():
	for i in range(iterations):
		closest_mod_50(i)
		
@timeit
def good():
	for i in range(iterations):
		ceil50(i)
		
good()
bad()