Usage Example
/* Init */
sh_profiler_t prof;
sh_prof_init(&prof, PMCR_OPERAND_CACHE_READ_MISS_MODE);
int z_update = sh_prof_zone_register(&prof, "update");
int z_render = sh_prof_zone_register(&prof, "render");
/* Game loop */
while (running) {
sh_prof_frame_begin(&prof);
sh_prof_zone_begin(&prof, z_update);
game_update();
sh_prof_zone_end(&prof, z_update);
sh_prof_zone_begin(&prof, z_render);
game_render();
sh_prof_zone_end(&prof, z_render);
sh_scheduler_tick(&sched);
sh_prof_frame_end(&prof);
}
/* Output */
sh_prof_print(&prof); /* To dcload console */
sh_prof_dump(&prof, "/pc/profile.txt"); /* To host file */