Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/okikio/aiscode.
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041<?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 array $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)); }}