Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php declare(strict_types=1);/** This file is part of phpunit/php-timer.** (c) Sebastian Bergmann <sebastian@phpunit.de>** For the full copyright and license information, please view the LICENSE* file that was distributed with this source code.*/namespace SebastianBergmann\Timer;use function array_pop;use function hrtime;final class Timer{/*** @psalm-var list<float>*/private $startTimes = [];public function start(): void{$this->startTimes[] = (float) hrtime(true);}/*** @throws NoActiveTimerException*/public function stop(): Duration{if (empty($this->startTimes)) {throw new NoActiveTimerException('Timer::start() has to be called before Timer::stop()');}return Duration::fromNanoseconds((float) hrtime(true) - array_pop($this->startTimes));}}