Skip to content

Instantly share code, notes, and snippets.

@ScullWM
Created March 3, 2016 08:44
Show Gist options
  • Save ScullWM/940ead5d0a8ddb940dd5 to your computer and use it in GitHub Desktop.
Save ScullWM/940ead5d0a8ddb940dd5 to your computer and use it in GitHub Desktop.
Recurr benchmark
<?php
use Symfony\Component\Stopwatch\Stopwatch;
$loader = require __DIR__.'/./app/autoload.php';
// Debug::enable();
$stopwatch = new Stopwatch();
// Start event named 'eventName'
$stopwatch->start('recurr');
//-------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------
$startDate = new \DateTime('2014-06-17 04:00:00');
$rule = new \Recurr\Rule('FREQ=MONTHLY;COUNT=1000', $startDate);
$transformer = new \Recurr\Transformer\ArrayTransformer();
$constraint = new \Recurr\Transformer\Constraint\BeforeConstraint(new \DateTime('2014-08-01 00:00:00'));
$transformer->transform($rule, $constraint);
$startDate = new \DateTime('2015-06-17 04:00:00');
$rule = new \Recurr\Rule('FREQ=WEEKLY;COUNT=1000', $startDate);
$transformer = new \Recurr\Transformer\ArrayTransformer();
$constraint = new \Recurr\Transformer\Constraint\BeforeConstraint(new \DateTime('2016-08-01 00:00:00'));
$transformer->transform($rule, $constraint);
$startDate = new \DateTime('2015-06-17 04:00:00');
$rule = new \Recurr\Rule('FREQ=DAILY;COUNT=1000', $startDate);
$transformer = new \Recurr\Transformer\ArrayTransformer();
$constraint = new \Recurr\Transformer\Constraint\BeforeConstraint(new \DateTime('2016-12-31 00:00:00'));
$transformer->transform($rule, $constraint);
$startDate = new \DateTime('2012-06-17 16:00:00');
$rule = new \Recurr\Rule('FREQ=DAILY;COUNT=10000', $startDate);
$transformer = new \Recurr\Transformer\ArrayTransformer();
$constraint = new \Recurr\Transformer\Constraint\BeforeConstraint(new \DateTime('2016-12-31 00:00:00'));
$transformer->transform($rule, $constraint);
//-------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------
$event = $stopwatch->stop('recurr');
var_dump($event);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment