Basic profiler macro, still need to parallelize.