Github url

php-timer

by sebastianbergmann

sebastianbergmann /php-timer

Utility class for timing

6.5K Stars 50 Forks Last release: Not found Other 197 Commits 23 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

phpunit/php-timer

CI StatusType Coverage

Utility class for timing things, factored out of PHPUnit into a stand-alone component.

Installation

You can add this library as a local, per-project dependency to your project using Composer:

composer require phpunit/php-timer

If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:

composer require --dev phpunit/php-timer

Usage

Basic Timing

require \_\_DIR\_\_ . '/vendor/autoload.php'; use SebastianBergmann\Timer\Timer; $timer = new Timer; $timer-\>start(); foreach (\range(0, 100000) as $i) { // ... } $duration = $timer-\>stop(); var\_dump(get\_class($duration)); var\_dump($duration-\>asString()); var\_dump($duration-\>asSeconds()); var\_dump($duration-\>asMilliseconds()); var\_dump($duration-\>asMicroseconds()); var\_dump($duration-\>asNanoseconds());

The code above yields the output below:

string(32) "SebastianBergmann\Timer\Duration" string(9) "00:00.002" float(0.002851062) float(2.851062) float(2851.062) int(2851062)

Resource Consumption

Explicit duration

require \_\_DIR\_\_ . '/vendor/autoload.php'; use SebastianBergmann\Timer\ResourceUsageFormatter; use SebastianBergmann\Timer\Timer; $timer = new Timer; $timer-\>start(); foreach (\range(0, 100000) as $i) { // ... } print (new ResourceUsageFormatter)-\>resourceUsage($timer-\>stop());

The code above yields the output below:

Time: 00:00.002, Memory: 6.00 MB

Duration since PHP Startup (using unreliable

$\_SERVER['REQUEST\_TIME\_FLOAT']

)

require \_\_DIR\_\_ . '/vendor/autoload.php'; use SebastianBergmann\Timer\ResourceUsageFormatter; foreach (\range(0, 100000) as $i) { // ... } print (new ResourceUsageFormatter)-\>resourceUsageSinceStartOfRequest();

The code above yields the output below:

Time: 00:00.002, Memory: 6.00 MB

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.