@contextmanager def timer(name): """Context manager for timing code blocks with custom name.""" start_time = time.time() yield end_time = time.time() elapsed_time = (end_time - start_time) * 1000 print(f"{name} took {elapsed_time:.2f} ms")