Add a profiling decorator based on cProfile