2017 © Pedro Peláez
 

library floor-execution-time

Floor a script's execution time

image

jstewmc/floor-execution-time

Floor a script's execution time

  • Wednesday, December 28, 2016
  • by Jstewmc
  • Repository
  • 1 Watchers
  • 0 Stars
  • 6 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

floor-execution-time

Floor a script's execution time., (*1)

This library will calculate a script's total execution time from $_SERVER['REQUEST_TIME_FLOAT'] to now in milliseconds., (*2)

If the total execution time is less than the floor, it will sleep for the difference:, (*3)

namespace Jstewmc\FloorExecutionTime;

// instantiate the service with a 500 millisecond floor
$service = new FloorExecutionTime(500);

// ... something that takes 100 milliseconds

$service();  // sleeps for 400 milliseconds

If the execution time is greater than the floor, it will not sleep:, (*4)

namespace Jstewmc\FloorExecutionTime;

// instantiate the service with a 500 millisecond floor
$service = new FloorExecutionTime(500);

// ... something that takes 1,000 milliseconds

$service();  // sleeps for 0 milliseconds

Flooring execution time helps defend against brute-force and timing attacks. Scripts which are likely to be brute-forced should be slow. Scripts which are likely to be timing attacked should have a constant execution time. Some scripts should be both., (*5)

Dependencies

This library depends on the REQUEST_TIME_FLOAT server variable. There is no guarantee that every web server will provide the REQUEST_TIME_FLOAT variable, however, most will. If the REQUEST_TIME_FLOAT server variable does not exist, this library will throw a RuntimeException on construction., (*6)

License

MIT, (*7)

Author

Jack Clayton, (*8)

Version

2.0.0, December 27, 2016

  • Rename Floor to FloorExecutionTime.
  • Update __construct() to throw exception if REQUEST_TIME_FLOAT server variable does not exist.
  • Remove $start argument of __invoke() method. It makes more sense to use REQUEST_START_TIME.

1.0.0, August 16, 2016

  • Major release
  • Update composer.json
  • Clean up comments

0.1.0, August 3, 2016

  • Initial release

The Versions

28/12 2016

dev-master

9999999-dev

Floor a script's execution time

  Sources   Download

MIT

The Requires

  • php ^7.0

 

The Development Requires

by Jack Clayton

php time execution jstewmc floor

28/12 2016

v2.0.0

2.0.0.0

Floor a script's execution time

  Sources   Download

MIT

The Requires

  • php ^7.0

 

The Development Requires

by Jack Clayton

php time execution jstewmc floor

14/08 2016

v1.0.0

1.0.0.0

Floor a script's execution time

  Sources   Download

MIT

The Requires

  • php ^7.0

 

The Development Requires

by Jack Clayton

php time execution jstewmc floor