Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x

Timer.php

Same filename in this branch
  1. 11.1.x core/lib/Drupal/Component/Utility/Timer.php

Namespace

SebastianBergmann\Timer

File

vendor/phpunit/php-timer/src/Timer.php

View source
<?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[] = (double) 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((double) hrtime(true) - array_pop($this->startTimes));
    }

}

Classes

Title Deprecated Summary
Timer

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal