#ifndef PROFILER_ENABLED #define PROFILER_ENABLED 1 #endif #if PROFILER_ENABLED #define profiler_begin() profiler__begin() #define profiler_end() profiler__end() #define profiler_begin_scope(name) profiler__begin_scope(#name, sizeof(#name) - 1) #define profiler_begin_fn() profiler_begin_scope(#__FUNCTION__) #define profiler_end_scope() profiler__end_scope() fn void profiler__begin(); fn void profiler__end(); fn void profiler__begin_scope(const char *name, int len); fn void profiler__end_scope(); #else #define profiler_begin() #define profiler_end() #define profiler_begin_scope(name) #define profiler_begin_fn() #define profiler_end_scope() #endif