Buckets:
| 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)); | |
| } | |
| } | |
Xet Storage Details
- Size:
- 930 Bytes
- Xet hash:
- 3093b2b6755a0eb1b0f46e2c0e077b37bb68244da82abe224cf8b499b184450a
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.