<?php namespace MightyPork\Utils; /** * Profiling funcs */ class Profiler { /** * Get current time * * @return float time (s) */ public static function now() { list($usec, $sec) = explode(" ", microtime()); return ((float) $usec + (float) $sec); } /** * Start profiling * * @return float current time (profiling token) */ public static function start() { return self::now(); } /** * Measure time elapsed since start, formatted to 3 decimal places for printing. * * @param float $start time obtained with "start()" * @return float time elapsed (s) */ public static function end($start) { return sprintf('%0.3f', self::now() - $start); } }